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 sur une requête d'Union en VBA [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 357
    Points : 509
    Points
    509
    Par défaut Problème sur une requête d'Union en VBA
    Bonjour,

    J'ai besoin d'une requête d'union en VBA mais elle ne marche pas (erreur de syntaxe).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        SQl = "SELECT " & Table_DOC & ".* " & _
        "FROM BOUton LEFT JOIN (IMPression LEFT JOIN " & Table_DOC & " ON IMPression.IMP_Doc = " & Table_DOC & ".DOC_Num_Bis) ON BOUton.BOU_Num = IMPression.IMP_Bou " & _
        "WHERE (BOUton.BOU_Nom = '" & Bimp & "' AND Impression.IMP_Actif = True AND " & Table_DOC & ".DOC_Actif = True) " & _
        "UNION " & _
        "SELECT " & Table_DOC & ".* " & _
        "FROM " & Table_DOC & " " & _
        "WHERE " & Table_DOC & ".DOC_Actif=True AND " & Table_DOC & ".DOC_Var Is Not Null AND TestVarVal(" & Table_DOC & ".DOC_Var)=True) " & _
        "ORDER BY " & Table_DOC & ".DOC_Lib;"
    Je ne vois pas où est mon erreur.
    Je me demande si ce n'est pas l'appel de la fonction TestVarVal dans le dernier Where qui pose problème ?

    Merci de votre aide
    Les solutions les plus simples sont les plus efficaces

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 630
    Points : 14 599
    Points
    14 599
    Par défaut
    bonjour,
    il y a doublon dans ta demande:https://www.developpez.net/forums/d2...e-d-union-vba/
    il va falloir choisir ton camp
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 357
    Points : 509
    Points
    509
    Par défaut
    Exact Tee mais dans quel forum cette demande a le plus sa place stp ?
    Les solutions les plus simples sont les plus efficaces

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 630
    Points : 14 599
    Points
    14 599
    Par défaut
    je dirais que, même si cela concerne une erreur de syntaxe SQL, cela reste de la construction d'une variable dans VBA
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 113
    Points : 124
    Points
    124
    Par défaut
    Bonjour,

    Peux-tu essayer cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        SQl = "SELECT " & Table_DOC & ".* " & _
        "FROM BOUton LEFT JOIN (IMPression LEFT JOIN " & Table_DOC & " ON IMPression.IMP_Doc = " & Table_DOC & ".DOC_Num_Bis) ON BOUton.BOU_Num = IMPression.IMP_Bou " & _
        "WHERE (BOUton.BOU_Nom = '" & Bimp & "' AND Impression.IMP_Actif = True AND " & Table_DOC & ".DOC_Actif = True) " & _
        "UNION " & _
        "SELECT " & Table_DOC & ".* " & _
        "FROM " & Table_DOC & " " & _
        "WHERE (" & Table_DOC & ".DOC_Actif=True AND " & Table_DOC & ".DOC_Var Is Not Null AND TestVarVal(" & Table_DOC & ".DOC_Var)=True) " & _
        "ORDER BY " & Table_DOC & ".DOC_Lib;"
    J'ai ajouté une parenthèse ouvrante ("(") avant la deuxième clause WHERE qui semble manquer...

    Cela étant dit, je pense que tu peux supprimer les parenthèses encadrant tes clauses WHERE.

    El

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

Discussions similaires

  1. problème sur une requête imbriquée
    Par pbatty1 dans le forum Requêtes
    Réponses: 12
    Dernier message: 26/10/2007, 17h21
  2. problème sur une requête mysql
    Par atomikado dans le forum Requêtes
    Réponses: 4
    Dernier message: 05/10/2007, 16h04
  3. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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