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

Requêtes et SQL. Discussion :

erreur de synthaxe dans une fonction de domaine en SQL [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut erreur de synthaxe dans une fonction de domaine en SQL
    Bonjour,

    J'ai crée un formulaire où est inseré une listebox.
    Cette listebox contient une grande requête en sql.

    Lorsque je lance cette requete sql , j'ai un message d'erreur qui s'affiche
    Cette erreur concerne une fonction de domaine
    et j'ai 4 fonctions de domaine

    "Erreur d'execution 3122
    Vous avez essayé d'éxecuter une requete ne comprenant pas l'expression spécifié
    FormatPercent(DCount([Nbcolis_ilot2],[T_DemiRecirculation_Ilot2],[CodeReaderResult]=0 and [N° Porte principale]=50)/(DCount([Nbcolis_ilot2],[T_DemiRecirculation_Ilot2], [N° Porte principale]=50))) AS DR_Video


    je penses que c'est une question de guillemets car lorsque j'applique cette fonction de domaine en mode création , je mets des guillemets
    et cela fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatPercent(DCount("[Nbcolis_ilot2]","[T_DemiRecirculation_Ilot2]","[CodeReaderResult]=0 and [N° Porte principale]=50")/(DCount("[Nbcolis_ilot2]","[T_DemiRecirculation_Ilot2]"," [N° Porte principale]=50"))) AS DR_Video
    mais en vba, je dois supprimer les guillemets sinon mon code sql est invalide


    Pour une meilleur compréhension, voici ci dessous
    la fonction de domaine telle que je l'aie ecrit en sql.
    je me suis arrêté à la première fonction de domaine pour une meilleur visibilité du code.

    merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    strSQLSELECT = "SELECT T_DemiRecirculation_Ilot2.Ilot, Count(T_DemiRecirculation_Ilot2.Nbcolis_ilot2) AS nbre_Colis_DR_ilot2, T_DemiRecirculation_Ilot2.brin,"
     
    strSQLSELECT = strSQLSELECT + "T_DemiRecirculation_Ilot2.Allée, T_DemiRecirculation_Ilot2.chute, T_DemiRecirculation_Ilot2.[N° Porte principale] AS N°_Porte,"
     
    strSQLSELECT = strSQLSELECT + "T_DemiRecirculation_Ilot2.DESTINATION, FormatPercent(DCount([Nbcolis_ilot2],[T_DemiRecirculation_Ilot2],"
     
    strSQLSELECT = strSQLSELECT + "[CodeReaderResult]=0 and [N° Porte principale]=" & Vporte & ")/(DCount([Nbcolis_ilot2],[T_DemiRecirculation_Ilot2],"
     
    strSQLSELECT = strSQLSELECT + " [N° Porte principale]=" & Vporte & "))) AS DR_Video,....

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Il manque les délimiteurs de chaîne.

    Ton DCount() devrait être dans ton VBA quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DCount(""TonChamp"", ""TaSource"", ""TonCritere"")
    Note qu'il faut doubler les guillemets (") quand ont les utilises dans une chaîne de caractère.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour marto
    et dans ma fonction de domaine , j'ai plusieurs critère dois je ecrire,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DCount(""TonChamp"", ""TaSource"", ""TonCritere"" and ""Toncritère2"")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DCount(""TonChamp"", ""TaSource"", ""TonCritere and Ton Critere2"")

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DCount(""TonChamp"", ""TaSource"", ""TonCritere and Ton Critere2"")
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonsoir Marot;
    c'est ce que je pensais
    Merci de ton aide
    Je ferme cette discussion

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

Discussions similaires

  1. Erreur (segmentation fault) dans une fonction
    Par med1001 dans le forum C
    Réponses: 2
    Dernier message: 16/04/2012, 09h47
  2. Erreur "SELECT INTO" dans une fonction
    Par mercure07 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 20/02/2009, 11h34
  3. Réponses: 1
    Dernier message: 26/11/2008, 17h36
  4. Erreur d'argument dans une fonction
    Par rouliane dans le forum MATLAB
    Réponses: 6
    Dernier message: 12/12/2006, 11h52
  5. [8i][PL/SQL] erreur avec lpad dans une fonction
    Par sali dans le forum Oracle
    Réponses: 3
    Dernier message: 16/03/2006, 06h22

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