Modification d'enregistrement BD via VB

Bonjour,

mon problème que j'arrive pas à savoir ma faute syntaxique au niveau de cette requête, lors de l'exécution, il m'envoie cet erreur:

Erreur de syntaxe (opérateur absent) dans l'expression ''' adresseIP = adresseMAC = passerelle = DNS1 = DNS2 ='.

et voila ma requête

statement = " Update Compte Set mail = '' " & TextBox2.Text & " adresseIP = " & TextBox3.Text & " adresseMAC = " & TextBox4.Text & " passerelle = " & TextBox5.Text & " DNS1 = " & TextBox6.Text & " DNS2 = " & TextBox7.Text & " where identifiant = " & TextBox1.Text & ";"

merci d'avance

10 réponses

  1. il manque juste les virgules pour séparer chaques champs (cf syntaxe update sur google)
    0
    1. même chose, avec ou sans virgules, ça marche pas
      0
      1. - double " pour le mail, et du coup ça inverse absolument tout dans ta requète
        - et les virgules sont obligatoire donc met les (sinon il n'y as aucun moyen de différencier les champs à mettre à jour
        0
        1. nn plus

          cette fois erronée:

          Erreur de syntaxe dans la chaîne dans l'expression '" , adresseIP = , adresseMAC = , passerelle = , DNS1 = , DNS2 = where identifiant = ;'.
          0
          1. encore les quotes

            statement = " Update Compte Set mail = '" & TextBox2.Text & "', adresseIP = '" & TextBox3.Text & "', adresseMAC = '" & TextBox4.Text & "', passerelle = '" & TextBox5.Text & "', DNS1 = '" & TextBox6.Text & "', DNS2 = '" & TextBox7.Text & "', where identifiant = " & TextBox1.Text & ";"

            j'ai remis les quotes et virgules là où il faudrais, ça devrais le faire
            0
            1. je viens de faire copier/coller pour ton aide mais encore refusée

              msg envoyé:
              Erreur de syntaxe dans l'instruction UPDATE.
              0
              1. est ce que tu peux écrire la requète interprété dans une zone de texte et la copier ici ?
                0
                1. C'est celle toute la requête présentée ci dessus que tu m'avais donné
                  0
                  1. non ce que je voudrais c'est le contenu de la variable Statement :) (genre un textbox.text=Statement )
                    0
                    1. Finalement je suis arrivée à la bonne solution ci dessous

                      statement = " Update Compte Set mail = '" & TextBox2.Text & "', adresseIP ='" & TextBox3.Text & "', adresseMAC = '" & TextBox4.Text & "', passerelle ='" & TextBox5.Text & "', DNS1 ='" & TextBox6.Text & "', DNS2 ='" & TextBox7.Text & "' where identifiant =" & TextBox1.Text & ";"

                      Tous les champs sont de type texte, sauf le champs identifiant est numérique
                      (tous sont TextBox)

                      Merci bien Vordano pour ton aide
                      0
                      1. ah oui effectivement c'était l'inverse de "encore les quotes"
                        du coup c'était surement un .value au lieu d'un .text non ? (ou alors tu as transformé la valeur du type texte vers le type integer ?)
                        0
                      2. Sans rien changer et sans rien forcer c'est ton code correctement mais j'ai dû pas laisser des espaces entre les quottes, les doubles quottes et les champs pas plus

                        encore merci bien
                        0