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 :

Syntaxe SQL en VBA ACCESS (Recordset ADODB)


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2010
    Messages : 60
    Points : 54
    Points
    54
    Par défaut Syntaxe SQL en VBA ACCESS (Recordset ADODB)
    Bonjour,

    je développe une application sous Access, en utilisant ADODB.

    J'ai remarqué plusieurs différences de syntaxe entre les requêtes "classiques" et les requêtes écrites pour un recordset ADO...

    Voici la requête qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    req = "SELECT DISTINCT TREEDOCS.id_doc_bo, TREEDOCS.lib_doc_bo, IIf(IsNull([DEVELOPPEUR]![prenom_dev]),'',Left([DEVELOPPEUR]![prenom_dev],1) & '. ') & [DEVELOPPEUR]![nom_dev] AS expdev, TREEDOCS.date_mise_prod " & _
                "FROM (TREEDOCS LEFT JOIN DEVELOPPEUR ON TREEDOCS.id_dev = DEVELOPPEUR.id_dev) RIGHT JOIN REQUETE ON TREEDOCS.id_doc_bo = REQUETE.id_doc_bo " & _
                "WHERE (((REQUETE.sql_info) Like ('%" & rechdoc & "%')) AND ((REQUETE.id_doc_bo)=[TREEDOCS].[id_doc_bo]) AND ((DEVELOPPEUR.id_dev)=[TREEDOCS].[id_dev])) " & _
                "GROUP BY TREEDOCS.id_doc_bo, TREEDOCS.lib_doc_bo, IIf(IsNull([DEVELOPPEUR]![prenom_dev]),'',Left([DEVELOPPEUR]![prenom_dev],1) & '. ') & [DEVELOPPEUR]![nom_dev] AS expdev, TREEDOCS.date_mise_prod"
     
     
        rsList.Open req, cnx, adOpenStatic, adLockOptimistic
    Ce recordset recherche les documents dont le code sql associé contient la chaîne rechdoc.

    Dans le recordset, la syntaxe Like ('%" & rechdoc & "%')) fonctionne, tandis que dans une requête Access, je dois employer la syntaxe Like (*" & rechdoc & "*')).

    De plus, la requête me ramène un résultat correct dans une requête classique access et un résultat erroné lorsqu'elle est utilisée dans un recordset ADO.

    Auriez-vous des indices pour comprendre mon erreur ?

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2010
    Messages : 60
    Points : 54
    Points
    54
    Par défaut Réponse obscure
    Ces deux requêtes me ramènent 4 colonnes : id_doc_bo, lib_doc_bo, expr2 (nom du développeur) et date_mise_prod.

    En comparant les résultats de ces deux requêtes, j'ai remarqué que lles colonnes expr2 et date_mise_prod du recordset sont ordonnées de la même façon que le résultat de la requête "classique".

    En revanche, dans mon recordset, les colonnes id_doc_bo et lib_doc_bo n'étaient pas ordonnées de la même façon.

    Je suppose donc que mon erreur vient d'une mauvaise jointure entre les tables TREEDOCS et DEVELOPPEUR...

    Cependant, en ajoutant à la requête du recordset un "ORDER BY TREEDOCS.lib_doc_bo ASC", un résultat en apparence correct est ramené.

Discussions similaires

  1. erreur de syntaxe sql dans vba
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/12/2006, 18h23
  2. SQL en VBA - access 2003
    Par eddyG dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/09/2006, 13h05
  3. SQL dans VBA access 2002
    Par kryssy dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 28/06/2006, 21h25
  4. [VBA-A]SQL Between VBA Access Need Backup :)
    Par rider57 dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/05/2006, 11h03
  5. connexion à une base Sql Server via Access et ADODB
    Par gunico dans le forum Projets ADP
    Réponses: 5
    Dernier message: 28/02/2006, 12h26

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