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

VBA Access Discussion :

Problème de synthaxe SQL dans ACCESS VBA [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut Problème de synthaxe SQL dans ACCESS VBA
    Bonjour à tous

    je cherche à mettre à jour une Table depuis des valeurs prisent dans des variables.

    J'utilise le bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQLData1 = HCIF.Value
    SQLData2 = HType.Value
    SQLData3 = HTypeS.Value
    SQLData4 = HPid.Value
    SQLData5 = HSigle.Value
    SQLData6 = HComm.Value
    SQLData7 = UserPid.Value
     
    SQL = "INSERT INTO [T-Historique] (CIF, TYPE, TypeS, VersApid, VersSigle, Commentaire, Apid)" _
            & "VALUES (" & SQLData1 & "," & SQLData2 & "," & SQLData3 & "," & SQLData4 & _
                       "," & SQLData5 & "," & SQLData6 & "," & SQLData8 & ")"
    DoCmd.RunSQL SQL
    Et j'obtient une erreur d'access

    - Syntax error in INSERT INTO statement
    Je ne trouve pas l'erreur....
    Merci d'avance pour votre aide

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour

    Values est collé à la parenthèse juste avant et je suppose que certaines variables et champs sont de type texte, donc à encadrer avec des guillemets.

    Utilisez debug.print pour plus de détails

  3. #3
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    salut,

    les valeurs que tu tentes de passer sont-elles toutes des numériques ?

    les valeurs de type texte sont encadrées par des quotes (')
    les dates au format US #MM/DD/YYYY#

    quelqies modification dans le contenu SQL devraient suffire ici.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  4. #4
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    salut,

    les valeurs que tu tentes de passer sont-elles toutes des numériques ?

    les valeurs de type texte sont encadrées par des quotes (')
    les dates au format US #MM/DD/YYYY#

    quelqies modification dans le contenu SQL devraient suffire ici.

    Les valeurs sont toutes du "texte" ..
    J'ai essayé de modifier comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SQLData1 = HCIF.Value
    SQLData2 = HType.Value
     
    SQL = "INSERT INTO [T-Historique] (CIF, TYPE) VALUES ('SQLData1','SQLData2'
    Cela fonctionne, mais ce n'ai pas la valeur de la variable qui passe mais
    " &SQLData1"

    Je crois que je m'emmele dans le " et les '
    Comment faire passer une varaible.

    Merci

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 274
    Points
    34 274
    Par défaut
    en fait il faut juste intégrer les quotes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "INSERT INTO [T-Historique] (CIF, TYPE, TypeS, VersApid, VersSigle, Commentaire, Apid)" & " VALUES ('" & SQLData1 & "','" & SQLData2 & "','" & SQLData3 & "','" & SQLData4 & "','" & SQLData5 & "','" & SQLData6 & "','" & SQLData8 & "')"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 54
    Points : 40
    Points
    40
    Par défaut
    Merci beaucoup pour l'aide.

    Ta ligne fonctionne parfaitement.

    Excellent fin de journée

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

Discussions similaires

  1. Problème avec SQL dans code VBA
    Par glemoin dans le forum IHM
    Réponses: 7
    Dernier message: 01/06/2014, 10h50
  2. Problème affichage des schémas SQL dans Access 2000
    Par ninouchfis dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 04/03/2014, 10h04
  3. Problême requête SQL dans access..Erreur 3079
    Par DavidGG dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/01/2008, 17h48
  4. Problème avec requête SQL dans VBA
    Par Mimisio dans le forum VBA Access
    Réponses: 10
    Dernier message: 13/07/2007, 11h00
  5. Problème SQL dans code VBA
    Par benjisan dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 15/05/2007, 13h22

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