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 :

Erreur de syntaxe dans la définition d'un critere sql sous vb [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Points : 45
    Points
    45
    Par défaut Erreur de syntaxe dans la définition d'un critere sql sous vb
    Bonjour,

    J'ai un formulaire devant me permettre d'exporter une requete temporaire sous excel en fonction de plusieurs choix : la zone de stock des produits (locaux ou stock) et le BU.



    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
    Private Sub BtnEtatStock_Click()
     
    Dim SQL As String
     
    SQL = "SELECT Produit.PartNumber, Produit.Designation, Produit.NFournisseur, Produit.RefFournisseur, ReqCalculStockEtLocauxBU.BU, ReqCalculStockEtLocauxBU.QteBULocaux, ReqCalculStockEtLocauxBU.QteBUStock, ReqDernierPxU.DernierPrixU FROM (ReqCalculStockEtLocauxBU INNER JOIN Produit ON ReqCalculStockEtLocauxBU.NProduit=Produit.NProduit) INNER JOIN ReqDernierPxU ON Produit.NProduit=ReqDernierPxU.NProduit "
     
        If CocheLieu2 Then
     
            If ModifLieu2 = "Stock" Then
                SQL = SQL & "And ReqCalculStockEtLocauxBU!QteBUStock > 0"
            End If
     
            If ModifLieu2 = "LocauxShaktiware" Then
                SQL = SQL & "And ReqCalculStockEtLocauxBU!QteDansLocaux >0"
            End If
     
        End If
     
        If CocheBU2 Then
            SQL = SQL & "ReqCalculStockEtLocauxBU!BU='" & ModifBU2 & "'"
        End If
     
    Set qd = CurrentDb.CreateQueryDef("Requete_Temporaire", SQL)
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, "Requete_Temporaire", "C:\Documents and Settings\guest\Mes documents\EtatDesStock.xls"
        DoCmd.DeleteObject acQuery, "Requete_Temporaire"
     
    Set xls = CreateObject("Excel.Application")
        xls.Workbooks.Open "C:\Documents and Settings\guest\Mes documents\EtatDesStock.xls"
        xls.Visible = True
     
    End sub
    J'ai déja utilisé un code similaire avec succès et si je n'active aucun filtre, tout fonctionne.

    En revanche si j'active le filtre sur le lieu j'ai une erreur du type :
    "Expression de jointure non supportée"

    Et avec le filtre sur le BU une autre erreur :
    "Erreur de syntaxe (opérateur absent dans l'expression 'Produit.NProduit = ReqDernierPxU.NProduit ReqCalculStockEtLocauxBU=""."

    Une idée sur l'origine des erreurs?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 366
    Points
    34 366
    Par défaut
    salut,
    tu n'as pas prévu le cas du "AND" dans ton test CocheBU2

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Points : 45
    Points
    45
    Par défaut
    Exact! (oups ) Merci !

    Maintenant l'erreur est la même sur les 2 filtres :"Expression de jointure non supportée"...

    Est ce que ça pourrait être du au fait que j'appelle des requêtes dans le code SQL? Car dans les autres exemple que j'ai utilisé avec ce type de fonction , je n'appelai que les tables dans le SELECT et ça marchait parfaitement?

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    plus généralement il y a un tuto fait pour ça :
    http://cafeine.developpez.com/access...el/debugprint/

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    51
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 51
    Points : 45
    Points
    45
    Par défaut
    Merci pour le lien du tuto, j'en avais lu pas mal mais pas celui-ci.

    Il m'a effectivement permis de résoudre le problème qui provenait en grande partie de la syntaxe.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/06/2006, 00h22
  2. Erreur de syntaxe dans INSERT INTO VALUES
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 25/05/2006, 18h57
  3. erreur de syntaxe dans l'instructiuon insert into
    Par greg64 dans le forum Access
    Réponses: 6
    Dernier message: 13/04/2006, 14h07
  4. Erreur de syntaxe dans une requete
    Par linou dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/08/2005, 12h44
  5. [JSP]Erreur de syntaxe dans un tag <option select
    Par logica dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 03/05/2005, 14h33

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