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 (opérateur absent) dans l'expression


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Erreur de syntaxe (opérateur absent) dans l'expression
    Bonjour à tous,

    Je suis un novice dans le langage VBA Access, j'ai une requête à exécuter mais ça me dit Erreur de syntaxe(opérateur absent) dans l'expression. J'ai cherché et modifié à maintes reprises mon code mais je n'arrive vraiment à trouver ce qu'il ne va pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT DISTINCT [MASTER LIST].SIGNAL_NAME, [MASTER LIST].DESC, [MASTER LIST].CONTROLLER, [MASTER LIST].LOCATION, [MASTER LIST].HMI_SCREEN, [MASTER LIST].CABINET, [MASTER LIST].PWR_SRC, [MASTER LIST].TB_TYPE, [MASTER LIST].COL_ROW, [MASTER LIST].POINT, [MASTER LIST].[LOOP CHECK DATE], [MASTER LIST].[ICS ENGINEER]
    FROM [MASTER LIST], [Loop Check Value]
    WHERE (((IIf(Len([MASTER LIST]![LVL1])>4,(Left([MASTER LIST]![SIGNAL_NAME],2)),(Left([MASTER LIST]![SIGNAL_NAME],1))))=[FORMS]![KKS_PANEL]![LIST1]) AND ((IIf(Len([MASTER LIST]![lvl1])>4,(Mid([MASTER LIST]![signal_name],3,3)),(Mid([MASTER LIST]![signal_name],2,3))))=[FORMS]![KKS_PANEL]![LIST3])) AND (IIf(([LOOP CHECK VALUE].[LOOP CHECK VALUE]) = "Complete",([MASTER LIST].[LOOP CHECK DATE] IS NOT NULL),([MASTER LIST].[LOOP CHECK DATE] IS NULL))
    ORDER BY [MASTER LIST].SIGNAL_NAME;
    Pouvez-vous m'aider s'il vous plait ?

    Je sais seulement que l'erreur provient de la partie qui correspond au dernier AND.

    Plantakwatix.

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Remplace tes "" par des ''

    Remarques :
    • Les majuscules sont à proscrire dans un concept de BDD à ce jour et depuis fort longtemps.
    • Les espaces dans les noms d'objet aussi...
    • DESC est un mot réservé qui signifie décroissant
    • Si [Loop Check Value] dans la clause FROM est un nom de table, un alias pour les tables serait la bienvenue pour une meilleure lisibilité



    Argy

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2012
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    En faite cette BDD est une BDD que je suis chargé d'optimiser dans le cadre de mon stage ce n'est pas moi qui l'ai créée, le Loop Check Value dans la clause FROM est utilisé pour la jointure car c'est dans cette table qu’apparaît le 'Complete', dans mon formulaire j'ai un système de listbox, lorsque l'on clic sur un e valeur dans la 1ere, cela fait apparaitre le contenu de la 2ème et ainsi de suite, et je dois me servir de 'Complete' ou 'Non Complete' de la 3ème colonne pour sortir en fonction du choix la liste des enregistrements ayant une date pour 'Complete' et n'en ayant pas pour 'Non Complete'.

    Merci de ta réponse j'ai modifié mes "" par des '' mais cela ne change rien.

    Plantakwatix

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Humm, je pensais que ton script était affecté à une variable...

    Ton erreur vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Left([MASTER LIST]![SIGNAL_NAME])
    Tu ne dois pas utiliser la valeur d'un contrôle dans une requête de cette façon...
    Même si cela est possible de procéder ainsi, c'est fortement déconseillé.
    Syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!NomForm!NomControl
    Tu dois créer dynamiquement la requête une fois l'élement de la liste effectué et l'affecter à ton contrôle.
    Il y a un tutoriel pour cela (Auteur Tofalu).
    Et un autre tuto à lire aussi...


    Argy

Discussions similaires

  1. Erreur de syntaxe (opérateur absent) dans l'expression
    Par casimir81100 dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/08/2012, 01h35
  2. Réponses: 3
    Dernier message: 12/07/2012, 09h39
  3. [AC-2010] (Erreur 3075) - Erreur de syntaxe (opérateur absent) dans l'expression "x x x".
    Par Aerial dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 07/12/2011, 16h38
  4. Réponses: 7
    Dernier message: 20/11/2008, 10h58
  5. [ODBC] Erreur de syntaxe (opérateur absent) dans l'expression
    Par nawak.seb dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 25/08/2008, 14h53

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