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 requete


Sujet :

VBA Access

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 29
    Points
    29
    Par défaut Problème de requete
    voici le code qui fonctionne avec une requete access:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT TableZ.vDebEmCl, *
    FROM TableZ INNER JOIN Impression ON (RESU6_Composant.idFab=Impression.NuméroFabrication) AND (RESU6_Composant.idRef=Impression.Référence)
    WHERE (((Impression.NuméroFabrication)="NumFab") AND ((Impression.Référence)="RefDuProduit") AND ((Impression.Etat)=1) AND ((Impression.ProtocoleClient)=Yes) AND ((Impression.Demandeur)="A6"));
    mais avec vba pour access, j'obtiens une erreur de syntaxe! je ne comprend absolument pas pourquoi! vba ne comprendrait-il pas toutes les requetes SQL?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strSQL = "SELECT TableZ.vDebEmCl, * " & _
            " FROM [" & TableZ & "] INNER JOIN Impression ON " & _
            " (TableZ.idFab=Impression.NuméroFabrication)" & _
            " AND (TableZ.idRef=Impression.Référence)" & _
            " WHERE (((Impression.NuméroFabrication)=[" & NuméroFabrication & "])" & _
            " AND ((Impression.Référence)=[" & Référence & "])" & _
            " AND ((Impression.Etat)='1')" & _
            " AND ((Impression.ProtocoleClient)=[" & Reponse & "])" & _
            " AND ((Impression.Demandeur)=[" & Demandeur & "]));"

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 33
    Points : 29
    Points
    29
    Par défaut
    bonjour, une petite mise à jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sSQL = " SELECT RESU6_Composant.vDebEmcl, * FROM RESU6_Composant INNER JOIN Impression "
    sSQL = sSQL + " ON (RESU6_Composant.idRef = Impression.Référence)"
    sSQL = sSQL + " AND (RESU6_Composant.idFab = Impression.NuméroFabrication)"
    sSQL = sSQL + " WHERE (((Impression.NuméroFabrication)=[""" & NuméroFabrication & """])"
    sSQL = sSQL + " AND ((Impression.Référence)=[""" & Référence & """])"
    sSQL = sSQL + " AND ((Impression.Etat)=""1"")"
    sSQL = sSQL + " AND ((Impression.ProtocoleClient)=""Yes"")"
    sSQL = sSQL + " AND ((Impression.Demandeur)=[""" & Demandeur & """]));"
    si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[""" & Demandeur & """]
    j'ai un message d'erreur " trop peu de paramètre attendu" si je ne met pas les crochets j'ai un autre message d'erreur "type de donnée incompatible dans l'expréssion du critère"

    Est-ce mon code ou vba qui pose problème? Si oui, peut on le contourner?
    Merci

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    pour renvoyer la valeur d'une variable mémoire essaie



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Impression.Demandeur)= ' " & Demandeur & " ' ));"
    Pas d'espace entre ' (apostrophe) et " (guillemet) j'ai ajouté l'espace pour mieux voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Impression.Etat)=""1"")"
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Impression.Etat)='1')"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Impression.ProtocoleClient)=""Yes"")"
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((Impression.ProtocoleClient)= 'Yes')"

Discussions similaires

  1. [EJBQL] Problème de requete
    Par rivierem dans le forum Java EE
    Réponses: 3
    Dernier message: 16/10/2004, 10h05
  2. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  3. Problème de Requete...
    Par sebiv dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/04/2004, 16h21
  4. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

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