Redim VB.net

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 2 juin 2004 à 22:29
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 2 juin 2004 à 22:47
grrr, toujours quand la programmation avance que ça fini par me mettre un bug que je comprend pas sa signification

"La référence d'objet n'est pas définie à une instance d'un objet."

j'ai un tableau que je redimentionne avec un redim de type

    Public Structure Champ_Valeur
        Public Champ As String
        Public Valeur As String
        Public Type As String
    End Structure


ensuite je le rempli, puis je l'envoi dans une fonction

Dim test() As Type.Champ_Valeur
Dim UpDate As Update
...
ReDim test(6)
            test(0).Champ = "Prénom"
            test(0).Valeur = Me.TextBox4.Text
            test(0).Type = "'"
            test(1).Champ = "Nom"
            test(1).Valeur = Me.TextBox3.Text
            test(1).Type = "'"
            test(2).Champ = "Utilisateur"
            test(2).Valeur = Me.TextBox1.Text
            test(2).Type = "'"
            test(3).Champ = "Pass"
            test(3).Valeur = Me.TextBox2.Text
            test(3).Type = "'"
            test(4).Champ = "Lecture"
            test(4).Valeur = Me.CheckBox21.Checked
            test(4).Type = ""
            test(5).Champ = "Sup"
            test(5).Valeur = Me.CheckBox21.Checked
            test(5).Type = ""
            test(6).Champ = "Admin"
            test(6).Valeur = Me.CheckBox21.Checked
            test(6).Type = ""
            UpDate.UpdateSQL(test, "tb_users", CType(MdiParent, principal))


et elle est reçu comme ça

Public Class Update
    Public tableau() As Type.Champ_Valeur
    Public Function UpdateSQL(ByRef valeur() As Type.Champ_Valeur, ByVal table As String, ByVal Main As principal)
        Dim i As Integer
        For i = 0 To UBound(valeur)
            If Not CType(Main, principal).drd1.IsClosed Then
                CType(Main, principal).drd1.Close()
            End If            CType(Main, principal).OleDbCommand1.CommandText "update " & table & " set " & valeur(i).Champ & " " & valeur(i).Type & valeur(i).Valeur & valeur(i).Type
            CType(Main, principal).drd1 = CType(Main, principal).OleDbCommand1.ExecuteReader
        Next i
    End Function
End Class


l'erreur arrive à cette ligne

UpDate.UpdateSQL(test, "tb_users", CType(MdiParent, principal))


je comprend pas, pourtant les type envoyé sont bien les bon et pourtant j'ai déjà fait un code semblable dans mon rojet à un autre endroit. La seule différence, c,est que c'est un table d'un type que j'ai défini

1 réponse

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
2 juin 2004 à 22:47
finallement je me suis pris d'une autre façon totallement différente
0
Rejoignez-nous