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

Access Discussion :

[VBA] Erreur dans une requête


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut [VBA] Erreur dans une requête
    Bonjour à tous !!
    j'ai fait une requete avec VBA mais ca me met comme erreur "Erreur de syntaxe dans l'instruction INSERT INTO"

    Voilà ma requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL ("INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('" & Me.txt_motif.Value & "', '" & Me.txt_date.Value & "', '" & Me.txt_durée.Value & "', '" & Me.txt_logiciel.Value & "', '" & Me.txt_mat.Value & "', '" & Me.Modifiable43.Column(0) & "')")
    quelqu'un peut-il me dire où se trouve mon erreur car moi je ne la trouve pas !

    merci

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Fais un Debug.Print de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('" & Me.txt_motif.Value & "', '" & Me.txt_date.Value & "', '" & Me.txt_durée.Value & "', '" & Me.txt_logiciel.Value & "', '" & Me.txt_mat.Value & "', '" & Me.Modifiable43.Column(0) & "')"
    Puis regarde ce qui ne va pas.
    Si tu ne vois aucune erreur évidente copie la requête et exécute la dans le requêteur d'Access.
    Essaie de te souvenir de cette méthode pour tes prochaines concaténations, c'est un bon moyen de débuguer.

    En espérant t'aider.
    J'aime les gâteaux.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    euh... comment ca marche le debug.print j'ai essayé de le mettre avant la requête mais ca me met sur "RunSQL" et ca me met "Erreur de compilation: fonction ou variable attendue"

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    ok ! j'ai fait ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sql = "INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('" & Me.txt_motif.Value & "', '" & Me.txt_date.Value & "', '" & Me.txt_durée.Value & "', '" & Me.txt_logiciel.Value & "', '" & Me.txt_mat.Value & "', '" & Me.Modifiable43.Column(0) & "')"
    Debug.Print sql
    et ca me met aucune erreur, aucun message !! que dois-je faire ? c'est quoi le requêteur d'access ??

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    oui, je serai interresse de savoir comment marche debug.print et savoir comment faire pour lancer un "requeteur"

    Cette methode ^pour debugger m'interresse, ca marche ausii pour le vba, car actuellemnt je mets des points d'arret partout.

  6. #6
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Pour le debug.Print.
    Dans un module (où il y a du code VBA) fais ctrl+g, tu verras apparaître la fenêtre d'exécution.
    Après avoir chargé la variable sql écris :
    Exécute ton code comme d'habitude.
    Ensuite retourne là où tu as ton code et tu verras que le contenu de "sql" sera dans la fenêtre d'exécution. Tu auras donc affiché le teste de la requête que tu as généré.

    Ensuite, si tu ne vois toujours pas l'erreur, il te suffit de copier le texte de la fenêtre d'exécution (la requête), de créer un nouvelle requête et d'y coller le contenu de la requête et de l'exécuter afin de tester.

    En espérant t'aider.
    J'aime les gâteaux.

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut


    demoniaque

    merci demco

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Damsou met un ; avant le " final.

    As tu un champ numéro auto dans ta table?
    Amicalement

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    oui j'ai un numéro auto qui sert d'identifiant !

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Bien.

    Maintenant change les Me.NomChamp.Value en Me.NomChamp seulement et regarde ce que ca donne
    Amicalement

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    ca revient au meme ! j'ai toujours une erreur ! il me dit que c'est dans la syntaxe de mon insert into voilà le rsultat du debug.print:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('f', '12/02/2200', '3', 'netbackup', 'JF1', 1, 'lyon');

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    As tu mis le ; avant le "?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.RunSQL ("INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('" & Me.txt_motif & "', '" & Me.txt_date & "', '" & Me.txt_durée & "', '" & Me.txt_logiciel & "', '" & Me.txt_mat & "', '" & Me.Modifiable43.Column(0) & "');")
    est ce Num_heb# ton numéro auto?
    Amicalement

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    voilà mon code en VBA:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunSQL ("INSERT INTO [Déplacement](Motif_depl, Date_depl, Durée_depl, Logiciel, Matricule_empl#, Num_heb#, Nom_ville) values('" & Me.txt_motif & "', '" & Me.txt_date & "', '" & Me.txt_durée & "', '" & Me.txt_logiciel & "', '" & Me.txt_mat & "', " & Me.Modifiable43.Column(0) & ", '" & Me.txt_vil_dep & "');")
    non le mon numéro auto est num_depl mais je ne le rempli pas ici car comme il été en auto il doit se remplir tout seul, non ?

  14. #14
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Ca me semble correcte.
    Juste pour Me.Modifiable43.Column(0) remplace le par Me.Modifiable43
    Amicalement

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    j'ai toujours une erreur sur cet syntaxe de l'Insert into !
    je sais pas d'ou ca vient là !!

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    ok ! j'ai du nouveau !!

    j'ai passé dans l'outil requête d'access comme il m'avait été conseillé auparavant et apparament l'erreur viendré du # !
    Quelqu'un sait pourquoi ? sinon il faut juste changé le # mais j'aimerais évité cette hypothèse afin de ne pas à avoir à retouché tous ce que j'ai déjà fait !

    si il n'y a pas d'autre solution, ben je devrais m'y plier de toute facon !

  17. #17
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Renomme le toujours pour voir. Si c'est ca le problème tu change tous
    Amicalement

  18. #18
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    ca marche ! la requête passe ! seuelement ca me dit que ca peut pas ajouter d'enregistrement à cause d'une violation de clé ! qu'est-ce que celà signifi ?

  19. #19
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Regarde si tu applique le contrôle d'intégrité avec d'autre tables
    Amicalement

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 59
    Points : 29
    Points
    29
    Par défaut
    ca veut dire que dans les relations les propriétés des traits noirs y a la case "aplliqué l'intégrité référentielleé cochée ?

    si c'est ca, oui j'ai coché ces cases !

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

Discussions similaires

  1. erreur dans une requête (en VBA) contenant IIf et left
    Par Magali33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/11/2007, 13h50
  2. #Erreur dans une requête avec une fonction personnalisée
    Par pguiheu dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 04/07/2006, 15h45
  3. [VBA] Erreur sur une requête avec un opérateur
    Par elgringo2007 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/07/2006, 17h12
  4. [MySQL] Erreur dans une requête
    Par sagitarium dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 13/05/2006, 21h38
  5. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08

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