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 :

Requête avec max date et champs correspondants


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut Requête avec max date et champs correspondants
    Bonjour,

    Je vous serais très reconnaissante si vous pouviez m'aider, car en tant que débutante, je déséspère un peu à force d'essayer des choses et que ça ne fonctionne pas..

    J'ai déjà mis 2 postes sur le forum à ce sujet; j'essaie de faire une requête qui doit m'afficher la dernière réunion, avec la nature de la réunion et le type de réunion correspondant à cette dernière date. Il m'affiche bien la date qui correspond à la dernière réunion du code projet, mais le type et la nature ne correspondent pas à cette date.
    Les trois champs sont dans la même table "B- Liste"

    Voilà mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [A- Liste Projets].[Code Project], Max([B- Liste.Datemeeting]) AS MaxDeDatemeeting, Last([B- Liste].typemeeting) AS DernierDetypemeeting, Last([B- Liste].Nature) AS DernierDeNature, Count([zzz Détail].[Code Projet]) AS [CompteDeCode Projet]
    FROM [B- Liste] INNER JOIN ([A- Liste Projets] INNER JOIN [zzz Détail] ON [A- Liste Projets].[Code Project] = [zzz Détail].[Code Projet]) ON [B- Liste].Meeting = [zzz Détail].Meeting
    GROUP BY [A- Liste Projets].[Code Project]
    ORDER BY Max([B- Liste].Datemeeting);
    J'ai essayé de mettre last sur les 2 champs et de mettre ordre croissant sur date, mais rien n'y fait, je ne comprends pas la logique.

    J'ai aussi regarder le tuto sur le language SQL appliqué à Access mais je ne trouve pas la solution.

    Merci à tous

  2. #2
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    As-tu essayé d'utiliser la fonction Dmax comme condition dans une simple requête Sélection?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    C'est quoi la fonction Dmax? J'ai mis max sur date, c'est encore différend?

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !
    Je n'avais pas vu que tu avais répondu... désolé !
    Citation Envoyé par sl1980 Voir le message
    Il m'affiche bien la date qui correspond à la dernière réunion du code projet, mais le type et la nature ne correspondent pas à cette date.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [A- Liste Projets].[Code Project], Max([B- Liste.Datemeeting]) AS MaxDeDatemeeting, Last([B- Liste].typemeeting) AS DernierDetypemeeting, Last([B- Liste].Nature) AS DernierDeNature, Count([zzz Détail].[Code Projet]) AS [CompteDeCode Projet]
    FROM [B- Liste] INNER JOIN ([A- Liste Projets] INNER JOIN [zzz Détail] ON [A- Liste Projets].[Code Project] = [zzz Détail].[Code Projet]) ON [B- Liste].Meeting = [zzz Détail].Meeting
    GROUP BY [A- Liste Projets].[Code Project]
    ORDER BY Max([B- Liste].Datemeeting);
    A mon avis, il y a plusieurs possibités d'erreurs :
    Si tu demandes Max sur une date, Access va te sortir - effectivement - la date max mais... s'il y a plusieurs lignes avec une même date....
    Est-ce que ton champs date est complet (est-ce qu'il intègre également les heures, minutes, secondes ?) auquel cas, la fonction max redevient efficace
    Si tu as un champ "NuméroAuto" dans ta table, la commande max sera parfaitement sûre du fait que NuméroAuto est absolument unique. Je t'invite à essayer ta requête en basant ta sélection sur ce champ... et donnes nous des nouvelles.

    La fonction Dmax dont je parle dans le post précédent est en définitive inutile car donnant accès au même enregistrement que la fonction max de ta requête.

Discussions similaires

  1. [AC-2007] Concaténer plusieurs champs d'une table dans une requête avec format date
    Par MelaAllIn dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 25/08/2011, 10h05
  2. Requête avec une date max
    Par xehyan dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/05/2009, 10h21
  3. problème max(date) et champs non correspondant
    Par sorenson dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/04/2007, 14h01
  4. SQL Requête avec des dates
    Par dahu29 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/03/2006, 18h20
  5. [JDBC] Requête avec une date sous la forme dd/MM/yyyy
    Par sylviefrfr dans le forum JDBC
    Réponses: 6
    Dernier message: 12/11/2005, 09h35

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