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

Access Discussion :

Un double Select doublé d un "for each" qui coince


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 30
    Points : 17
    Points
    17
    Par défaut Un double Select doublé d un "for each" qui coince
    Bonjour a tous....
    bon si j ecris, vous vous en doutez, c est parceke j ai un probleme que je n arrive pas a resoudre...
    C est assez simple...Imaginez une table [commande] toute bete avec une ID pour le client, puis une date de commande. Bien sur il se peut qu il y est plusieurs commandes pour un client. De plus, il n y a pas de clef dans la table.
    Pour chaque clients, je voudrais selectionner la ligne de la derniere commande en date.
    Le code suivant me retourne une erreur.....(evidement ca serai tro simple):

    FOR EACH [commande].[IDClient] SELECT * FROM [commande]
    WHERE [commande].[dateCommande]=(SELECT MAX([commande].[dateCommande]) FROM [commande]);

    le meme code sans le "FOR EACH ID " au debut me sort la toute derniere commande en date.

    ca doit pas etre difficile mais la je seche.....alors merci si quelqun a une idee lumineuse, j economiserai des cheveux.

    Sparal....

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Tu peux essayer ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * FROM [commande] as t1
    WHERE t1.[dateCommande]=(SELECT DISTINCT (MAX(t2.[dateCommande])) FROM [commande] as t2
    WHERE t2.[IDClient] = t1.[IDClient]);
    En espérant t'avoir aidé.

  3. #3
    Expert éminent sénior
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Slt,

    Le for each sert à parcourir une collection, je sais pas d'où tu le sors pour du SQL, un autre langage peut-être?

    Pour ta requête il faut une requête regroupement (GROUP BY en SQL)

    Avec QBE tu mets une opération de regroupement sur IDClient et un Max sur la date (faut d'abord cliquer sur le symbole SIGMA pour afficher les opérations de regroupement, où alors dans le menu y a "Opérations" qui traîne quelque part...)

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 30
    Points : 17
    Points
    17
    Par défaut
    rebonjour,

    Alors la fdraven merci et encore merci ...je crois pouvoir dire que t as masterisé ma question ..... ca fonctionne....!!!

    et ce qui m amene a dire a Arkham46 que t as surement raison..... c est plus par logique que j ai utilise le "for each", mais maintenant je remarque que je l ai utilise en m inspirant d oracle.....et par extrapolation, j ai cru que ca marcherait dans SQL....(quand j ai lance le code, cette expression ne lui paraissait pas etrangere puisquil me sortait une erreur sur ce qui suivait. " Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE' " )....me suis trompé...

    merci a tous pour vos reponses rapide...(et justes)

    Sparal

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    N'oublie pas le tag en bas à gauche.

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

Discussions similaires

  1. selection doublé ?
    Par gtraxx dans le forum Requêtes
    Réponses: 19
    Dernier message: 19/02/2008, 01h50
  2. [AJAX] Erreur de raisonnement : double select plus graph en AJAX
    Par MortyDeath dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/11/2007, 16h23
  3. [MySQL] Select double et insertion dans fichier
    Par Anakior dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 02/01/2006, 16h11
  4. double selection impossible
    Par Ghost Dog dans le forum OpenGL
    Réponses: 3
    Dernier message: 12/05/2005, 20h42

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