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 :

Selection d'un champ spécifique dans une requête d'analyse croisé


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Selection d'un champ spécifique dans une requête d'analyse croisé
    Bonjour,
    Voici le code SQl de ma requête d'analyse croisée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    PARAMETERS [Quelle Année? YYYY] Long, [Quel mois? MM] Long;
    TRANSFORM IIf(Sum((t1.Montant)+(t1.Rabais))<>0,Sum((t1.Montant)+(t1.Rabais)),0) AS v
    SELECT t1.[No d'ajustement] AS Nbr, t1.[Description de l'ajustement] AS Description, First((select t1.[commentaires]
    from [Fab003 Générale] as t1
    where ([Année]=[Quelle Année? YYYY] and [Mois]=[Quel Mois? MM]))) AS Expr1
    FROM [FAB003 Générale] AS t1
    WHERE (((t1.Année)=[Quelle Année? YYYY])) OR (((t1.Année)=[Quelle Année? YYYY]-1) AND ((t1.Mois)=12)) OR (((t1.Mois)=[Quel Mois? MM]))
    GROUP BY t1.[No d'ajustement], t1.[Description de l'ajustement]
    ORDER BY t1.[No d'ajustement]
    PIVOT IIf(t1.Année=[Quelle Année? YYYY]-1,"LastDec",Format(t1.Mois,"00")) In ("LastDec","01","02","03","04","05","06","07","08","09","10","11","12");
    Lorsque j'exécute la requête les prompts [Quelle Année? YYYY] et [Quel Mois? MM] me sont posés mais la requête ne s'éxécute pas...j'ai le message d'erreur suivant:
    "Cette requête peut retourner au plus un enregistrement"

    Je ne comprends pas pourquoi j'ai ce type d'erreur.

    Le résultat attendu est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    NBR	Description	Commentaires	LastDEC	 01	02	0301	Blahblah	Vérif. Fait	17	16$	18$	19$
    02	Blahblah	A faire		13$	0$	13$	11$	
    Etc.
    Le commentaire qui doit apparaitre est celui de l'année & du mois entré dans les prompts.

    Merci.

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut doudou31,
    je n'ai pas regardé le sens de la requête mais tu as un pb avec Expr1:
    remplace le par:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    (select top 1 t1.[commentaires] FROM [Fab003 Générale] as t1 where ([Année]=[Quelle Année? YYYY] and [Mois]=[Quel Mois? MM])) AS Expr1

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Salut Vodiem,
    merci pour la reponse mais je ne serais pas en mesure de l'appliquer avant lundi.

    J'ai bien hate d'essayer ta proposition, je te donnerais des nouvelles une fois testee.

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Salut Vodiem,

    j'ai remplacé mon expr1 avec celle que tu m'as fournie, je n'ai plus d'erreur. La requête s'éxécute sans message d'ereur par contre le champ [commentaires] qui s'affiche dans le résultat n'égale pas celui du no d'ajustement selon la date & le mois en question.

    Si j'ai plusieurs no d'ajustement dans un mois/année quelconque il ne prend pas le commentaire qui est propre au no d'ajustement en question
    Exemple:
    (Table)
    Pour 2008-02, j'ai les no d'ajustement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    No         Commentaires                    Montant+Rabais
    1           Correction à faire             12$ 
    2           Vérif à faire                   1$  
    3           aucun commentaire              10$
    (Résultat de la requête d'analyse croisée) avec la correction que tu m'as envoyée
    [Quelle Année? YYYY] = 2008
    [Quel mois? MM] = 02
    résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    No         Commentaires                  Lastdec     01     02    03 
    1           Correction à faire           11$         10$   12$   13$
    2           Correction à faire           0$           0$    1$    2$
    3           Correction à faire           9$           8$   10$   11$
    À l'aide!!!!

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    ben oui, que veux tu je t'ai corrigé l'orthographe pas la grammaire...

    rapidement comme ça je dirais que tu as oublié dans le critère:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    (SELECT top 1 t1.[commentaires] FROM [Fab003 Générale] AS t1 WHERE ([Année]=[Quelle Année? YYYY] AND [Mois]=[Quel Mois? MM])) AS Expr1
    d'y mettre <No d'ajustement>.

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    d'accord mais comment rajouter le no d'ajustement dans le critère...j'ai essayé mais sans succès

  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    toujours à l'arrache:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     ((select top 1 t2.[commentaires]
    from [Fab003 Générale] as t2
    where ([Année]=[Quelle Année? YYYY] and [Mois]=[Quel Mois? MM] and t2.[No d'ajustement]=t1.[No d'ajustement]))) AS Expr1
    si ce n'est pas ce qui te conviens, je regarderais de plus près.

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ce n'est toujours pas le bon commentaire qui s'affiche (selon le no d'ajustement, l'année et le mois).

    Je n'y comprendre plus rien!

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    ÇA FONCTIONNE!!!

    J'ai pris ta dernière modification et j'ai ajouté "First" devant le (select top 1 t2.[commentaires])

    Voici le code...pour ton info.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    PARAMETERS [Quelle Année? YYYY] Long, [Quel mois? MM] Long;
    TRANSFORM IIf(Sum((t1.Montant)+(t1.Rabais))<>0,Sum((t1.Montant)+(t1.Rabais)),0) AS v
    SELECT t1.[No d'ajustement] AS Nbr, t1.[Description de l'ajustement] AS Description, First(((select top 1 t2.[commentaires] from [Fab003 Générale] as t2 where ([Année]=[Quelle Année? YYYY] and [Mois]=[Quel Mois? MM] and t2.[No d'ajustement]=t1.[No d'ajustement])))) AS Expr1
    FROM [FAB003 Générale] AS t1
    WHERE (((t1.Année)=[Quelle Année? YYYY])) OR (((t1.Année)=[Quelle Année? YYYY]-1) AND ((t1.Mois)=12))
    GROUP BY t1.[No d'ajustement], t1.[Description de l'ajustement]
    ORDER BY t1.[No d'ajustement]
    PIVOT IIf(t1.Année=[Quelle Année? YYYY]-1,"LastDec",Format(t1.Mois,"00")) In ("LastDec","01","02","03","04","05","06","07","08","09","10","11","12");
    Merci de ton aide PRÉCIEUSE!


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

Discussions similaires

  1. Valeur <Null> d'un champ date dans une requête
    Par GodGives dans le forum Développement
    Réponses: 2
    Dernier message: 02/10/2007, 13h56
  2. Peut-on entré un champ nouveau dans une requête?
    Par louflo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/01/2007, 02h53
  3. 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
  4. Champ calculé dans une requête
    Par HUÏEZ Fabienne dans le forum Access
    Réponses: 3
    Dernier message: 08/12/2005, 12h31
  5. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02

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