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 :

Champ calculé dans une requête [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut Champ calculé dans une requête
    Bonjour à tous,

    J'ai une erreur de syntaxe dans un champ calculé alors que j'utilise la même formule avec succès dans une autre requête ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rep = VraiFaux([DesignNrDate]>1, "Rep", " ")
    Contrairement à son nom le champ DesignNrDate est un champ numérique

    J'ai essayé la même formule directement dans un formulaire contrôle onglet et "bizarrement" dans le 1er onglet la formule est acceptée et fonctionne mais est rejetée dans le 2eme onglet...

    Quelqu'un peut-il venir à mon secours?

    Par avance merci

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Chris 81,

    Rep = VraiFaux([DesignNrDate]>1, "Rep", " ")
    ==> tu as saisi ce code dans l'assistant ou en SQL ?

  3. #3
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut
    Toutes mes excuses pour le manque de clarte de ma question
    en SQL
    Rep: vraifaux([DesignNrdate]>1, "Rep", "")
    Pour l'assistant
    = vraifaux([DesignNrdate]>1, "Rep", "")
    A bientot

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Restes dans l'assistant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rep = VraiFaux([DesignNrDate]>1 ; "Rep" ; " ")
    ==> point-virgule à la place des virgules (dans l'assistant).

    Dans le code SQL généré, le VraiFaux() est remplacé par IIf() avec des virgules.

    Tu ne peux pas utiliser la syntaxe de l'un avec l'autre, et inversement...

  5. #5
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut
    J'ai bien respecte les differentes syntaxes et j'obtiens le meme message
    nombre d'arguments incorrects !

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Peux-tu poster l'image de ta requête (via l'assistant) ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Dans l'assistant ce n'est pas un égal, c'est cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rep: vraifaux([DesignNrdate]>1; "Rep"; "")
    Philippe

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Exact, merci Philippe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rep : VraiFaux([DesignNrDate]>1 ; "Rep" ; " ")

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    @ Chris 81

    Une chose important à ce mettre en tête :

    Assistant (ce que l'on nomme QBE) : Syntaxe Française, fonctions en français, séparateur ;

    Mode SQL : Syntaxe AngloSaxonne, fonction en Anglais, séparateur ;

    Lorsque tu passes de l'assistant au mode SQL, la traduction se fait automatiquement.

    Tu peux même dans le QBE écrire les fonctions en Anglais, Access les traduits de suite, c'est cool.

    Philippe

  10. #10
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut
    Merci pour toutes vos interventions mais j'obtiens toujours les mêmes messages de la part de notre ami Bill... à savoir : Vous avez peut-être un opérande sans operateur

    En fait j'avais déjà repris les syntaxes du message 3 ...

    Ce qui m'étonne le plus c'est le fait que dans mon formulaire la formule soit acceptée dans le 1er onglet mais pas dans les suivants... ce qui m'a incité à essayer le champ calculé dans la requête...

  11. #11
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Chris 81 et Philippe,

    Citation Envoyé par Richard_35
    Peux-tu poster l'image de ta requête (via l'assistant) ?

  12. #12
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut
    SELECT Design.DesignCancelDate, Design.DesignCreationDate, Design.DesignApprovedDate, Design.DesignExpectedDate, Design.DesignRequestDate, Design.DesignConfirmedDate, Design.DesignNrDate, Design.DesignRejectDate, AnimationDesign.AnimationRank, FabricDesign.FabricRank, PictureDesign.PictureRank, Design.DesignConfirmed, Design.DesignName, Design.DesignSupplierMerchandiser, Design.DesignType, DLookUp("NameShort","DatabasePeople","FirstName = '" & [Designer] & "'") AS DesignerShort, Design.DesignSystem, Design.DesignSupplierName, VraiFaux([DesignNrDate]>1, "Rep", "") AS Rep
    FROM ((Design INNER JOIN AnimationDesign ON Design.DesignSystem = AnimationDesign.DesignSystem) INNER JOIN FabricDesign ON Design.DesignSystem = FabricDesign.DesignSystem) INNER JOIN PictureDesign ON Design.DesignSystem = PictureDesign.DesignSystem
    WHERE (((Design.DesignCancelDate) Is Null) AND ((Design.DesignCreationDate) Is Not Null) AND ((Design.DesignApprovedDate) Is Null) AND ((Design.DesignExpectedDate) Is Not Null) AND ((Design.DesignRequestDate) Is Not Null) AND ((Design.DesignConfirmedDate) Is Null) AND ((Design.DesignNrDate)=1) AND ((Design.DesignRejectDate) Is Null) AND ((AnimationDesign.AnimationRank)=1) AND ((FabricDesign.FabricRank)=1) AND ((PictureDesign.PictureRank)=1)) OR (((Design.DesignCancelDate) Is Null) AND ((Design.DesignCreationDate) Is Not Null) AND ((Design.DesignApprovedDate) Is Null) AND ((Design.DesignExpectedDate) Is Not Null) AND ((Design.DesignRequestDate) Is Not Null) AND ((Design.DesignConfirmedDate) Is Not Null) AND ((Design.DesignNrDate)>1) AND ((Design.DesignRejectDate)<[DesignrequestDate] And (Design.DesignRejectDate)>[DesignConfirmedDate]) AND ((AnimationDesign.AnimationRank)=1) AND ((FabricDesign.FabricRank)=1) AND ((PictureDesign.PictureRank)=1))
    ORDER BY Design.DesignRequestDate;
    Pour plus de lisibilite, j'ai mis le champ calcule en bout de la ligne select...

    Est-ce cela que tu souhaites obtenir?

    merci pour toute ton aide

  13. #13
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Je t'ai demandé l'image graphique de ta requête... mais bon, ce n'est pas grave.

    Il faut remplacer
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([DesignNrDate]>1, "Rep", "") AS Rep
    par
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf([DesignNrDate]>1, "Rep", "") AS Rep

    Mais, le plus important, c'est que tu comprennes que
    Citation Envoyé par Philippe
    Assistant (ce que l'on nomme QBE) : Syntaxe Française, fonctions en français, séparateur ;

    Mode SQL : Syntaxe AngloSaxonne, fonction en Anglais, séparateur ;

    Lorsque tu passes de l'assistant au mode SQL, la traduction se fait automatiquement.
    Je te conseille de passer par l'assistant, c'est plus simple.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Re

    Citation Envoyé par Philippe JOCHMANS Voir le message
    Re

    @ Chris 81

    Une chose important à ce mettre en tête :

    Assistant (ce que l'on nomme QBE) : Syntaxe Française, fonctions en français, séparateur ;

    Mode SQL : Syntaxe AngloSaxonne, fonction en Anglais, séparateur ;

    Lorsque tu passes de l'assistant au mode SQL, la traduction se fait automatiquement.

    Tu peux même dans le QBE écrire les fonctions en Anglais, Access les traduits de suite, c'est cool.

    Philippe
    Tu as VraiFaux dans ta requête SQL.

    Philippe

  15. #15
    Membre régulier
    Inscrit en
    Août 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 72

    Informations forums :
    Inscription : Août 2007
    Messages : 133
    Points : 74
    Points
    74
    Par défaut
    En remplacant dans le code SQL VraiFaux par IIF cela fonctionne a merveille ...

    Merci beaucoup pour votre aide precieuse.

    Je suis un autodidacte qui apprend a force de faire des "erreurs" et grace a votre aide. Merci pour votre patience



    A tres bientot

  16. #16
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Citation Envoyé par Chris 81
    Je suis un autodidacte qui apprend .../...
    ==> c'est tout à ton honneur. Mais, c'est pour cela qu'il est préférable de passer par l' assistant. Tu peux toujours consulter le code généré par l'assistant (en plus il est forcément juste...).

  17. #17
    Invité
    Invité(e)
    Par défaut
    Re

    Moi aussi j'ai tout apprit par moi même, on y arrive

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/11/2013, 02h24
  2. Ré utiliser des champs calculés dans une requête
    Par boby62423 dans le forum Développement
    Réponses: 6
    Dernier message: 11/03/2011, 16h43
  3. Champs calculés dans une requête
    Par fmu74 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 03/12/2008, 15h29
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31

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