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 :

Probleme de syntaxe (mise entre crochets)


Sujet :

Requêtes et SQL.

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut Probleme de syntaxe (mise entre crochets)
    Bonjour, dans ma requête-union suivante qui fonctionnait parfaitement bien, j'ai entrepris de juste changer les dates (signalées pour exemple en rouge gras).

    En l'enregistrant, j'ai un message d'erreur "Mise entre crochets non valide du nom SELECT*
    FROM [SELECT iif(AFFAIRES.[Transaction
    ", au niveau de la partie en gras noire, alors que je n'ai touché à rien d'autre. Y aurait-il une explication ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    SELECT *
    FROM [SELECT iif(AFFAIRES.[Transaction aboutie]=-1,"Transactions abouties") AS Libellé, Count(AFFAIRES.[Transaction aboutie]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
    FROM AFFAIRES
    WHERE (((AFFAIRES.[Transaction aboutie])=True)) 
    GROUP BY AFFAIRES.[Transaction aboutie]
    
    UNION
    
    SELECT iif(AFFAIRES.[Transaction en cours]=-1,"Transactions en cours sur exercice") AS Libellé, iif(Count(AFFAIRES.[Transaction en cours])=0,"-", Count(AFFAIRES.[Transaction en cours])) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
    FROM AFFAIRES
    WHERE (((AFFAIRES.[Transaction en cours])=True)) AND (AFFAIRES.[Signature définitive prévue le]) BETWEEN iif(Date() > DateSerial(Year(Date()), 7, 31),DateSerial(Year(Date()), 8, 1),DateSerial(Year(Date()) - 1, 8, 1)) AND iif(Date() > DateSerial(Year(Date()), 7, 31),DateSerial(Year(Date()) + 1, 7, 31),DateSerial(Year(Date()), 7, 31))
    GROUP BY AFFAIRES.[Transaction en cours]
    
    UNION 
    
    SELECT iif(AFFAIRES.[Transaction en cours]=-1,"Transactions en cours hors exercice") AS Libellé, iif(Count(AFFAIRES.[Transaction en cours])=0,"-", Count(AFFAIRES.[Transaction en cours])) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
    FROM AFFAIRES
    WHERE (((AFFAIRES.[Transaction en cours])=True)) AND IIF(Date()<DateSerial(Year(Date()), 7, 31),AFFAIRES.[Signature définitive prévue le]>DateSerial(Year(Date()), 7, 31),AFFAIRES.[Signature définitive prévue le]>DateSerial(Year(Date())+1,7,31))
    GROUP BY AFFAIRES.[Transaction en cours]
    
    UNION 
    
    SELECT iif(AFFAIRES.[Transaction avortée]=-1,"Transactions avortées") AS Libellé, Count(AFFAIRES.[Transaction avortée]) AS Volume, Count(AFFAIRES.[Transaction aboutie])/(SELECT Count(AFFAIRES.Réfaffaires) AS CompteDeRéfaffaires FROM AFFAIRES) AS Taux, Sum(AFFAIRES.[Montant honoraires HT]) AS CA
    FROM AFFAIRES
    WHERE (((AFFAIRES.[Transaction avortée])=True)) 
    GROUP BY AFFAIRES.[Transaction avortée]
    
    ]. AS [%$##@_Alias]
    ORDER BY iif(Libellé="Transactions abouties",1,iif(Libellé="Transactions en cours sur exercice",2,iif(Libellé="Transactions en cours hors exercice",3,iif(Libellé="Transactions avortées",4,null))));

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 064
    Points : 24 673
    Points
    24 673
    Par défaut
    Salut Nessy !

    Enleve

    et

    ça devrait aller mieux.

    Cordialement,

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonsoir,

    c'est la faute à Access. Qui crée un alias pour ta sous-requête et l'encadre de crochets suivis d'un point. Remplace les crochets par des parenthèses et supprime le point qui suit le crochet fermant.

    Peut-être devrais-tu aussi remplacer les champs oui/non pour les transactions pour des valeurs de statut pour un unique champ Transaction.
    Exemple : Transaction =0 =>' En cours
    Transaction = 1 => 'Aboutie
    Transaction = 2 => 'Avortée

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Merci les gars !
    J'aurais du y penser.

    Spécial coucou à Loufab ! Me revoilà !!!
    Je m'en excuse par avance

Discussions similaires

  1. [AC-2007] problème syntaxe "mise entre crochet"
    Par sooaah dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 30/05/2011, 09h07
  2. probleme de syntaxe entre deux date
    Par youba11 dans le forum VB.NET
    Réponses: 4
    Dernier message: 26/06/2008, 16h28
  3. [Débutante] Problèmes de syntaxe
    Par new_wave dans le forum Prolog
    Réponses: 4
    Dernier message: 02/11/2004, 18h39
  4. [langage] Probleme passage de variables entre modules
    Par Ludo167 dans le forum Langage
    Réponses: 4
    Dernier message: 13/08/2004, 12h25
  5. Problemes de syntaxe
    Par maahta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 01/10/2003, 13h40

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