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 :

[SQL][VBA]Erreur de synthaxe .. opérateur abscent


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut [SQL][VBA]Erreur de synthaxe .. opérateur abscent
    Bonjour,

    J'ai une requête sql géré via VBA (Access) mais elle refuse de fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case 2
    Me.Liste456.RowSource = "SELECT Contrats.num, Contrats.N°declient, Contrats.N°decontrat, Contrats.Typedecontrat, Contrats.[Activité-serviceCDG], Contrats.Montantducontrat FROM Contrats WHERE [N°declient]=Clients.N°declient and Contrats.[Activité-serviceCDG] =  " & " CDGL ENV " & ""
    Si je me limite à ce code pas de soucis mais dès que je lui mets le AND ... ordi pas content access pas content et du coup bibi pas content
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case 2
    Me.Liste456.RowSource = "SELECT Contrats.num, Contrats.N°declient, Contrats.N°decontrat, Contrats.Typedecontrat, Contrats.[Activité-serviceCDG], Contrats.Montantducontrat FROM Contrats WHERE [N°declient]=Clients.N°declient
    Cyril

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    il y a effectivement un problème de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contrats.[Activité-serviceCDG] =  " & " CDGL ENV " & ""
    Déjà : CDGL ENV
    Là ça plante car Access va interpréter ça comme 2 variables !!
    Il faudrait l'écrire sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Contrats.[Activité-serviceCDG] =  " &  CDGL &  ENV
    Mais je doute que cela soit ça...

    Si tu expliques ce qu'est CDGL ENV, on va peut être trouver une solution

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    Je fais un tri par mon n° de client et par mon activité
    3 activité au total classé dans ma table par
    CDGL ENV (environnement),
    CDGL ENE (energie)
    et CDGL LOG (logistique).

    Edit : Effectivement cela ne fonctionne pas, le champ activité est un critère texte standard

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Donc c'est une valeur de type String
    Solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Liste456.RowSource = "SELECT Contrats.num, Contrats.N°declient, Contrats.N°decontrat, Contrats.Typedecontrat, Contrats.[Activité-serviceCDG], Contrats.Montantducontrat FROM Contrats WHERE [N°declient]=Clients.N°declient and Contrats.[Activité-serviceCDG] =  " & Chr(34) & "CDGL ENV" & Chr(34)

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    C'est bon solution trouvé grace à 'critére'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Liste456.RowSource = "SELECT Contrats.num, Contrats.N°declient, Contrats.N°decontrat, Contrats.Typedecontrat, Contrats.[Activité-serviceCDG], Contrats.Montantducontrat FROM Contrats WHERE [N°declient]=Clients.N°declient and Contrats.[Activité-serviceCDG] = 'CDGL ENV'  "
    Ok, je viens de voir ta réponse, quel est la différence entre le (Chr34) et le (') ?

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    En fait le résultat sera le même. 34 est le code ASCII de ". Chr(34) renvoi ".
    J'ai toujours pratiqué comme ça (mauvaise manie ??). Certains trouverons ça complètement inutile sachant que la solution avec ' fonctionne très bien.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut
    ok impect et merci de l'explication

    Cyril

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

Discussions similaires

  1. [VBA] Erreur 52 lorsqu'il y a déconnexion au serveur
    Par banzaii dans le forum Général VBA
    Réponses: 6
    Dernier message: 27/06/2017, 22h49
  2. [AC-2010] Analyse croisée SQL : erreur de syntaxe (opérateur absent)
    Par lptht dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 21/01/2015, 12h42
  3. [AC-2000] Erreur insertion SQL VBA avec base répliquée
    Par Tydher dans le forum VBA Access
    Réponses: 4
    Dernier message: 14/06/2011, 09h04
  4. [XL-2007] Liaison VBA/SQL en erreur
    Par ridokou dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/12/2010, 10h41
  5. [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

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