IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Comment faire un update sur des textbox qui sont créés


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut [VB6] Comment faire un update sur des textbox qui sont créés
    Bonjourà tous,

    Dans mon formulaire, j'ai :
    - 2 textBox, Text1(i) ce qui correpond dans ma Base Access au champ Heure_Evenement de ma table Evenement et ce qui correpond dans ma Base Access au champ Libellé_Evenement de ma table Evenement Text2(i).
    - 1 label, label1(i) qui correpond dans ma Base Access au champ Code_Evenement de ma table Evenement. Ce code_Evenement est automatique.

    Le label1(i) est invisible

    Lorsque je commence à ecrire dans Ma Text1(i) il me rajoute une ligne avec : Text1(i+1), Text2(i+1) et Label1(i+1) ensuite je fais Tab et je me trouve sur le Text2(i).

    Après avoir rentrer une valeur dans ma text2(i) je fais tab et là j'enregistre dans la table evenement la valeur de la Text1(i) et la valeur de la Text2(i) et je met dans le label1(i) le code automatique de cette ligne.

    Mais si je vois que je me suis tromper dans la première ligne de mon enrengistrement et que je suis sur la 3ème ligne :

    Comment on fait pour faire un update de la 1ère ligne lorsque j'ai changé par exemple la valeur de la Text2(0) ?

    Merci d'avance.

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
     
     
    Dim mShift As Integer
    Dim i As Long
    Dim Valeur As Byte
     
     
    Private Sub Form_Load()
    connexion.Provider = "microsoft.jet.oledb.4.0"
    connexion.ConnectionString = App.Path & "\bd1.mdb"
    connexion.Open
     
    End Sub
     
    Private Sub Text1_Change(Index As Integer)
    'exemple pour format xx:xx
     
        Text1(i - 1).MaxLength = 5 'nb caracteres maxi dans textbox
        Text1(i - 1).SelStart = 6
        Valeur = Len(Text1(i - 1))
        If Valeur = 2 Or Valeur = 5 Then Text1(i - 1) = Text1(i - 1) & ":"
     
        Picture1(i - 1).Width = Text1(i - 1).Width
        Text1(i - 1).Left = 5 'bordures
        Text1(i - 1).Top = Picture1(i - 1).Height / 2 - Text1(i - 1).Height / 2
     
    End Sub
     
    Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
     
       If KeyAscii >= 10 And mShift = 0 Then
          If Index = Text1.Count - 1 Then
             i = Text1.Count
             Load Text1(i)
             Load Text2(i)
             Load Picture1(i)
             Load Picture2(i)
             Load Label1(i) 'Le label1 correspond au code de l'evenement
     
             Set Text1(i).Container = Picture1(i)
             Text1(i).Move 0, 0
     
             Set Text2(i).Container = Picture2(i)
             Text2(i).Move 0, 0
     
             Text1(i) = ""
             Text2(i) = ""
             Label1(i) = ""
     
             Label1(i).Top = Label1(i - 1).Top + Label1(0).Height
             Picture1(i).Top = Picture1(i - 1).Top + Picture1(0).Height
             Picture2(i).Top = Picture2(i - 1).Top + Picture2(0).Height
     
             Text1(i).Visible = True
             Text2(i).Visible = True
             Picture1(i).Visible = True
             Picture2(i).Visible = True
             Label1(i).Visible = True
     
             Text1(i - 1).SetFocus
          Else
             i = Index + 1
             Text1(i - 1).SetFocus
          End If
    End If
     
       If KeyAscii = vbKeyTab And KeyAscii <> 8 And mShift = 0 Then
         If Not IsDate(Text1(i - 1).Text) Then
            MsgBox "Format incorrect"
            Text1(i - 1) = ""
            Text1(i - 1).SetFocus
            Exit Sub
         Else
            Text2(i - 1).SetFocus
        End If
      End If
     
      DS = Text1(i - 1).Text
     
      If KeyAscii = 8 Then  'il faut permettre les effacements arrières
        If Right$(DS, 1) = ":" Then
          'si le caractère avant est le séparateur, il faut reculer d'un rang de plus
          Text1(i - 1).Text = Left$(DS, (Text1(i - 1).SelStart - 2)): KeyAscii = 0
        End If
        Exit Sub
      End If
     
    End Sub
     
    Private Sub Text2_Change(Index As Integer)
     
        Picture2(i - 1).Width = Text2(i - 1).Width
        Text2(i - 1).Left = 5 'bordures
        Text2(i - 1).Top = Picture2(i - 1).Height / 2 - Text2(i - 1).Height / 2
     
    End Sub
     
    Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer)
     
    If Me.TextWidth(Text2(i - 1).Text) >= Text2(i - 1).Width - 4125 Then
        Text2(i - 1).Height = 585
        Text2(i - 1).SelStart = Len(Text2(i - 1).Text)
    End If
     
    If KeyAscii = vbKeyTab Then
     
        With rstEvenementTampon
        .ActiveConnection = connexion
        .CursorType = adOpenDynamic
        .LockType = adLockOptimistic
        .Open "Evenement"
     
        .AddNew
            !Libellé_Ev = Text2(i - 1).Text
            !Heure_Ev = Text1(i - 1).Text
        .Update
     
        Label1(i - 1) = !Code_Ev
     
        .Close
        End With
     
        If mShift = 0 Then
            Text1(Index + 1).SetFocus
        Else
            Text1(Index + 1).SetFocus
        End If
     
    End If
     
    End Sub
     
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       mShift = Shift
    End Sub
     
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
       mShift = 0
    End Sub

    J'ai oublier de dire que la Text1(i) se trouver dans la Picture1(i) et la text2(i) se trouve dans la Picture2(i).

    Tout marche sauf que je ne sais pas comment faire mon update.

    Pouvez-vous m'aider?

    Merci d'avance.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    me.recalc ?

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Mis à part le fait que je ne trouve pas sur VB5 (ma version) de vbKeyTab et n'en connaisse donc pas la valeur, je note :
    If KeyAscii >= 10 And KeyAscii <> 8 And mShift = 0 Then
    (>= 10 est forcément <> 8 )
    If KeyAscii = vbKeyTab And KeyAscii <> 8 And mShift = 0 Then
    (à moins que la valeur de vbKeyTab ne soit "Mouvante" = vbKeyTab est forcément <> 8 )

    If KeyAscii = 8 Then 'il faut permettre les effacements arrières
    If Right$(DS, 1) = ":" Then
    'si le caractère avant est le séparateur, il faut reculer d'un rang de plus

    Text1(i - 1).Text = Left$(DS, (Text1(i - 1).SelStart - 2)): KeyAscii = 0: Text1(i - 1).SelStart = Text1(i - 1).SelStart
    End If
    Exit Sub
    End If
    Je ne vois pas comment peut se faire, dans ces conditions, l'effacement arrière !....
    ce qui est en rouge m'inquiète vraiment
    DS = Text1(i - 1).Text: chkey = Chr(KeyAscii)
    on se demande à quoi servent ce chkey et ce DS qui ne sont utilisés nulle part ailleurs (je sais bien, moi, d'où ils viennent..voir plus bas ..)
    Je ne veux pas aller plus loin dans l'analyse de ce non-code dont j'ai d'autant plus la certitude de ce qu'il est un ensemble de petits bouts copiés-collés, que j'y retrouve des"morceaux" qui figuraient dans un code qu'elle a obtenu de moi (en vert) et qui n'ont absolument rien à faire ici......

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Pour ta gouverne il n'y a que le code pour l'effacement dans la Text1 et le format de cette Text1 tout le reste c'est moi qui à chercher.

    Alors s'il te plait as-tu une idée de comment je peux faire mon update, je ne te demande pas le code, je te demande juste une piste?

    Merci d'avance.

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    bb62,

    Le but d'un forum est soit un "dépannage" occasionnel quand on a épuisé toutes ses ressources sur un problème et qu'on ne trouve pas, soit d'apprendre à programmer.

    Or, on peut voir, avec le code que tu nous montres, que tu n'apprends pas.

    Tu nous demande de faire ton boulot.

    Relis ton code, comprends-le et, éventuellement, reviens nous voir quand tu auras besoin d'une aide sur un point précis.

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par bb62
    Pour ta gouverne il n'y a que le code pour l'effacement dans la Text1 et le format de cette Text1 tout le reste c'est moi qui à chercher.

    Alors s'il te plait as-tu une idée de comment je peux faire mon update, je ne te demande pas le code, je te demande juste une piste?

    Merci d'avance.
    Je viens de voir le message ci-dessus.

    Sache que, la plupart d'entre nous, pour donner une solution, analysons et essayons le code fourni.

    Quand l'analyse de ce code nous fait tomber sur trop de corrections à faire, on laisse tomber (nous avons, aussi, notre boulot!).

    J'espère que tu peux comprendre ça et nous fournir un code le plus propre possible pour qu'on puisse se pencher sur ton problème.

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    J'ai vu mes erreurs sur mon code.

    Donc je pose ma question :

    Comment faire un update sur des textbox créer dynamiquement.

    Text1 Text2 Label1
    12:12 Bonjour Comment ça va 1
    13:13 On va au cinéma ce soir 2
    ligne vide ligne vide ligne vide

    Je m'explique lorsque je commence à taper le 1er enregistrement de la text1(0) est donc "12:12" il me met automatiquement une deuxième ligne, et ainsi de suite.

    Ensuite je fait tab sur la text1(0) "12:12", le focus passe à la textbox Text2(0), je tape "Bonjour comment ça va" et ensuite je fais tab lorsque je fais tab il m'enregistre dans ma table evenement (Code_Ev, Libellé_Ev, Heure_Ev) la valeur de la Text1(0) et celle de la Text2(0) et dans le Label1(0) il me met le Code_Ev correspondant à la ligne des TextBox.
    Et ainsi de suite

    Je suis sur la Text1(2) qui est vide mais je me suis aperçu que la valeur de ma text2(0) etait fausse, j'aimerai que "Bonjour comment ça va?" soit remplacer par "Hello Comment allez_vous?".

    J'avais penser que lorsqu'on été sur la Text2(0) on pouvais faire un update par rapport au code_Ev du label1(0) mais je ne sais pas comment mis prendre.

    Pouvez-vous m'aider?

    Merci d'avance.

  9. #9
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Vous voulez un code plus propre alors voilà :

    Tout d'abord les variables que je vais utiliser dans ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim mShift As Integer
    Dim i As Long
    Dim Valeur As Byte
    Dans le form_Load j'ai mis la connexion à la base de données, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Form_Load()
     
    connexion.Provider = "microsoft.jet.oledb.4.0"
    connexion.ConnectionString = App.Path & "\bd1.mdb"
    connexion.Open
     
    End Sub
    Dans le Text1_Change, il y a le code pour le format de la Text1(i-1) et le code por centré verticalement par rapport à la picture1(i-1), voici le code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Private Sub Text1_Change(Index As Integer)
    'exemple pour format xx:xx
     
        Text1(i - 1).MaxLength = 5 'nb caracteres maxi dans textbox
        Text1(i - 1).SelStart = 6
        Valeur = Len(Text1(i - 1))
        If Valeur = 2 Or Valeur = 5 Then Text1(i - 1) = Text1(i - 1) & ":"
     
    'En dessous le code pour le centrage verticalement du texte de la textbox
        Picture1(i - 1).Width = Text1(i - 1).Width
        Text1(i - 1).Left = 5 'bordures
        Text1(i - 1).Top = Picture1(i - 1).Height / 2 - Text1(i - 1).Height / 2
     
    End Sub
    Ensuite dans l'événement Keypress de la Text1, il y a :
    - Tout d'abord le rajout de la ligne Text1(i), Picture1(i), Text2(i), Picture2(i) et Label1(i)
    - Ensuite si le format de la Text1(i-1) n'est pas bon alors il y a un messagebox d'erreur qui apparait et on retourne dans la Text1(i-1) qui a été remis à zero.
    - Enfin il y a l'effacement de la Text1(i-1)
    Voici le code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     
    Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
     
       If KeyAscii >= 10 And mShift = 0 Then
          If Index = Text1.Count - 1 Then
             i = Text1.Count
             Load Text1(i)
             Load Text2(i)
             Load Picture1(i)
             Load Picture2(i)
             Load Label1(i) 'Le label1 correspond au code de l'evenement
     
             Set Text1(i).Container = Picture1(i)
             Text1(i).Move 0, 0
     
             Set Text2(i).Container = Picture2(i)
             Text2(i).Move 0, 0
     
             Text1(i) = ""
             Text2(i) = ""
             Label1(i) = ""
     
             Label1(i).Top = Label1(i - 1).Top + Label1(0).Height
             Picture1(i).Top = Picture1(i - 1).Top + Picture1(0).Height
             Picture2(i).Top = Picture2(i - 1).Top + Picture2(0).Height
     
             Text1(i).Visible = True
             Text2(i).Visible = True
             Picture1(i).Visible = True
             Picture2(i).Visible = True
             Label1(i).Visible = True
     
             Text1(i - 1).SetFocus
          Else
             i = Index + 1
             Text1(i - 1).SetFocus
          End If
    End If
     
       If KeyAscii = vbKeyTab And mShift = 0 Then
         If Not IsDate(Text1(i - 1).Text) Then
            MsgBox "Format incorrect"
            Text1(i - 1) = ""
            Text1(i - 1).SetFocus
            Exit Sub
         Else
            Text2(i - 1).SetFocus
        End If
      End If
     
      DS = Text1(i - 1).Text ': chkey = Chr(KeyAscii)
     
      If KeyAscii = 8 Then  'il faut permettre les effacements arrières
        If Right$(DS, 1) = ":" Then
          'si le caractère avant est le séparateur, il faut reculer d'un rang de plus
          Text1(i - 1).Text = Left$(DS, (Text1(i - 1).SelStart - 2)): KeyAscii = 0
        End If
        Exit Sub
      End If
     
    End Sub

    Ensuite dans le change du Text2, il y a le code pour le centrage verticalement. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Text2_Change(Index As Integer)
     
        Picture2(i - 1).Width = Text2(i - 1).Width
        Text2(i - 1).Left = 5 'bordures
        Text2(i - 1).Top = Picture2(i - 1).Height / 2 - Text2(i - 1).Height / 2
     
    End Sub
    Ensuite il y a l'evenement Keypress de la Text2, là il y a le code pour retourner à la ligne dans la Text2(i-1) et il y a le code qui permet que lorsque l'on fait tab dans la text2(i-1) alors on rempli la table Evenement.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer)
     
    If Me.TextWidth(Text2(i - 1).Text) >= Text2(i - 1).Width - 4125 Then
        Text2(i - 1).Height = 585
        Text2(i - 1).SelStart = Len(Text2(i - 1).Text)
    End If
     
    If KeyAscii = vbKeyTab Then
     
        With rstEvenementTampon
        .ActiveConnection = connexion
        .CursorType = adOpenDynamic
        .LockType = adLockOptimistic
        .Open "Evenement"
     
        .AddNew
            !Libellé_Ev = Text2(i - 1).Text
            !Heure_Ev = Text1(i - 1).Text
        .Update
     
        Label1(i - 1) = !Code_Ev
     
        .Close
        End With
     
        If mShift = 0 Then
            Text1(Index + 1).SetFocus
        Else
            Text1(Index + 1).SetFocus
        End If
     
    End If
     
    End Sub
    Et enfin les evenements keyDown et Keyup de la form1. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
       mShift = Shift
    End Sub
     
    Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
       mShift = 0
    End Sub
    Voilà je ne peux pas être plus clair.
    Ah si dernière chose: Vous allez me dire pourquoi tout le temps text1(i-1),... Alors c'est parcque quand ecrit dans la premiere Text1 il me rajoute une ligne Text1(i), .... Et la text1 où j'ecrit est égale à Text1(i-1).

    Donc voilà

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Ton problème relève de l'analyse et pas de la programmation.

    Au niveau code, tu as tous les éléments qu'il te faut.

    Maintenant, je vais donner mon avis à propos de ce projet.
    Personnellement, je pense que je ne m'y lancerais pas car il faut imaginer tous les comportement possible de l'utilisateur.

    Imagine qu'au lieu de faire Tab, il clique dans un autre contrôle...
    Il faut alors gérer tous les LostFocus.

    Je pense que tu cherches à réinventer la roue et que tu en es à te demander comment assembler les morceaux mais que tu n'as pas encore l'idée de la forme des morceaux.

    Je croix, très sincèrement, qu'il serait temps de (re)faire une vraie analyse (sur papier) de ton projet avant de chercher à coder.
    Je te répète que tu as la majorité des éléments de code nécessaires à ce que tu veux faire. Si tu les comprends, tu peux les mettre en oeuvre pour le résultat que tu cherches à atteindre.

    Edit --> Je tapais ce message pendant que tu postais le tien

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If mShift = 0 Then 
            Text1(Index + 1).SetFocus 
        Else 
            Text1(Index + 1).SetFocus 
     End If
    et c'est quand que tu ne donnes pas le focus à text1(index + 1) ?

  12. #12
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Ben lorsque je fais un tab sur mon text2(i-1), il me met le focus sur le Text1(index+1) car si j'enléve se bout de code cela ne marche plus et lorsque je fais tab sur la Text2(i-1) alors il fais une tabulation dans ma text2(i-1).

    Donc voilà.

  13. #13
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    relis ton code (encadré dans mon message précédent) et... poses-toi des questions sur : "si j'ai ceci je fais celà mais si j'ai autre chose, je fais quand-même celà..."

  14. #14
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Désolé je viens de relire ta question et j'ai vu que je me suis tromper.

    Je suis vraiment déboussoler en ce moment.

  15. #15
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Où définis-tu ton RecordSet?

  16. #16
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Dans un module, voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Option Explicit
     
    Public connexion As New ADODB.Connection
    Public rstEvenementTampon As New ADODB.Recordset

  17. #17
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Je t'ai dit que tu avais presque tous les éléments de code nécessaire.

    Il te manque juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rstEvenementTampon.Edit
    pour pouvoir modifier un record existant.

    A mettre avant les modifications et à clôturer par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rstEvenementTampon.Update
    comme pour un AddNew.

  18. #18
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Apparement le .Edit n'est pas connu de Vb6.

  19. #19
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Il ne s'agit pas de VB6 mais bien de ADO.

    C'est possible.
    C'est une syntaxe qui vient de DAO.

    Mais cette indication devrait te donner la direction dans laquelle chercher.

  20. #20
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 277
    Points : 76
    Points
    76
    Par défaut
    Alors tu veux dire que je dois changer ma connexion à ma base de données et passer par DAO au lieu de ADO?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 5
    Dernier message: 08/06/2010, 15h45
  2. Réponses: 3
    Dernier message: 11/10/2008, 13h32
  3. Comment faire un DROP sur des tables qui change de nom ?
    Par GeantBioHazard dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/07/2008, 15h03
  4. Comment faire un Case sur des résultats HResult ?
    Par aityahia dans le forum Langage
    Réponses: 4
    Dernier message: 18/10/2007, 12h59
  5. Réponses: 1
    Dernier message: 09/11/2006, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo