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 :

Utilisation de "sql UPDATE SET" dans VB6 avec ADO


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Utilisation de "sql UPDATE SET" dans VB6 avec ADO
    bonjour à tous, j'ai un petit souci alors aidez-moi svp
    en fait j'ai créé une base de données Access format 2000 à laquelle j'accède avec VB6 en utilisant ADO. alors à partir d'une form VB je n'arrive pas à mettre à jour ma table "Classes" qui contient 09 champs alors que les tables ayant 03 champs maxi sont mises à jour sans problème
    je crois pourtant avoir bien utiliser la syntaxe de UPDATE. le message d'erreur suivant s'affiche:
    Erreur de syntaxe dans l'instruction UPDATE
    voici le code que j'ai écrit ci-dessous et je vous remercie d'avance:

    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
    Option Explicit
    Dim MaConnexion As ADODB.Connection
    Dim MaRequete As ADODB.Recordset
     
    Private Sub Modifier_Click()
        On Error GoTo errValidation
        Dim mysql As String
     
                'mise à jour à partir des données des champs textes et listes déroulantes
                mysql = "UPDATE Classes "
                mysql = mysql & "SET LibelleClasse ='" & txtLibelleClasse & "', Niveau='" & cboNiveau & "', "
                mysql = mysql & "Section='" & cboSection & "', Cycle='" & cboCycle & "', "
                mysql = mysql & "Specialite='" & cboSpecialite & "', TypeClasse='" & cboTypeClasse & "', "
                mysql = mysql & "Examen='" & cboExamen & "', Titulaire='" & cboEnseignant & "' "
                mysql = mysql & "WHERE CodeClasse ='" & txtCodeClasse & "'"
     
                Set MaConnexion = New ADODB.Connection
                With MaConnexion
                    .Provider = "Microsoft.Jet.oledb.4.0" 
                    .ConnectionString = App.Path & "\MaBD.mdb"
                    .Open 
                End With
     
                Set MaRequete = New ADODB.Recordset
                With MaRequete
                    .ActiveConnection = MaConnexion
                    .Open mysql, , adOpenDynamic, adLockOptimistic
                End With
     
     
     
            Exit Sub
     
    errValidation:
        Dim errMsg As String
        errMsg = MsgBox(Err.Description, vbCritical + vbOKOnly, "Mon application")
    End Sub

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Peux-tu nous afficher le texte de la variable mysql ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par pc75 Voir le message
    Bonjour,

    Peux-tu nous afficher le texte de la variable mysql ?
    bonjour
    si je comprends bien ta question, voici le texte de ma variable mysql, qui récupère les données à partir des zones de texte et des combobox:

    mysql = "UPDATE Classes "
    mysql = mysql & "SET LibelleClasse ='" & txtLibelleClasse & "', Niveau='" & cboNiveau & "', "
    mysql = mysql & "Section='" & cboSection & "', Cycle='" & cboCycle & "', "
    mysql = mysql & "Specialite='" & cboSpecialite & "', TypeClasse='" & cboTypeClasse & "', "
    mysql = mysql & "Examen='" & cboExamen & "', Titulaire='" & cboEnseignant & "' "
    mysql = mysql & "WHERE CodeClasse ='" & txtCodeClasse & "'"

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Non, il faut le contenu de la variable ; Qu'affiche un msgbox mysql ?

  5. #5
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut re
    Citation Envoyé par pc75 Voir le message
    Re,

    Non, il faut le contenu de la variable ; Qu'affiche un msgbox mysql ?
    Tous les champs de la table Classes sont de type « Texte » dans ma BD Access. Voici un échantillon d’enregistrement que je n’arrive pas à modifier ci-dessous:

    Nom : Fiche Elèves.JPG
Affichages : 1956
Taille : 32,3 Ko

  6. #6
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut solution à mon pb
    Citation Envoyé par hermanoah Voir le message
    Tous les champs de la table Classes sont de type « Texte » dans ma BD Access. Voici un échantillon d’enregistrement que je n’arrive pas à modifier ci-dessous:

    Nom : Fiche Elèves.JPG
Affichages : 1956
Taille : 32,3 Ko
    j'ai enfin trouvé ce qui me bloquait
    en fait, je ne sais pas pourquoi, mais c'est le champ "Section" de la table "Classes" qui bloquait alors je l'ai renommé "SectionCl" et ça marche désormais.
    merci de t'être penché sur ce pb

  7. #7
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut
    Citation Envoyé par pc75 Voir le message
    Re,

    Non, il faut le contenu de la variable ; Qu'affiche un msgbox mysql ?
    La demande (justifiée) de pc75 et de nous mettre le résultat de la construction de la requête SQL.
    Pour cela tu peux provisoirement faire un Debug.print
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mysql = "UPDATE Classes "
    mysql = mysql & "SET LibelleClasse ='" & txtLibelleClasse & "', Niveau='" & cboNiveau & "', "
    mysql = mysql & "Section='" & cboSection & "', Cycle='" & cboCycle & "', "
    mysql = mysql & "Specialite='" & cboSpecialite & "', TypeClasse='" & cboTypeClasse & "', "
    mysql = mysql & "Examen='" & cboExamen & "', Titulaire='" & cboEnseignant & "' "
    mysql = mysql & "WHERE CodeClasse ='" & txtCodeClasse & "'" 
    Debug.print mysql
    Dans la fenêtre d’exécution de l'éditeur VB6 (Ctrl + G) tu fais un copier/coller et tu le postes dans ton prochain message, cela permettra de voir si la construction résultante de ta variable mysql et correcte.

    Motif de l'édit: Trop tard.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  8. #8
    Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut re
    Citation Envoyé par ProgElecT Voir le message
    Salut
    La demande (justifiée) de pc75 et de nous mettre le résultat de la construction de la requête SQL.
    Pour cela tu peux provisoirement faire un Debug.print
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mysql = "UPDATE Classes "
    mysql = mysql & "SET LibelleClasse ='" & txtLibelleClasse & "', Niveau='" & cboNiveau & "', "
    mysql = mysql & "Section='" & cboSection & "', Cycle='" & cboCycle & "', "
    mysql = mysql & "Specialite='" & cboSpecialite & "', TypeClasse='" & cboTypeClasse & "', "
    mysql = mysql & "Examen='" & cboExamen & "', Titulaire='" & cboEnseignant & "' "
    mysql = mysql & "WHERE CodeClasse ='" & txtCodeClasse & "'" 
    Debug.print mysql
    Dans la fenêtre d’exécution de l'éditeur VB6 (Ctrl + G) tu fais un copier/coller et tu le postes dans ton prochain message, cela permettra de voir si la construction résultante de ta variable mysql et correcte.

    Motif de l'édit: Trop tard.
    UPDATE Classes SET LibelleClasse='2nde STT/G A', Niveau='Seconde', SectionCl='Section Sciences et Technologies du Tertiaire', Cycle='Second Cycle', Specialite='Gestion', TypeClasse='Intermédiaire', Examen='Aucun', Titulaire='NOAH FRANÇOIS HERMANN' WHERE CodeClasse='2NDE STT/G A'

    je vous remercie beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Utiliser des valeur SQL de type float dans une bdd pour boutique/panier
    Par sybil dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/03/2011, 15h45
  2. Réponses: 2
    Dernier message: 10/05/2007, 12h55
  3. [SQL] Update et soustraction dans un champ
    Par Artous dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/03/2006, 16h25
  4. sql update et insert dans la meme requete
    Par Jessicaa dans le forum Langage SQL
    Réponses: 8
    Dernier message: 14/12/2005, 15h39
  5. Réponses: 2
    Dernier message: 02/12/2005, 17h40

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