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

IHM Discussion :

Dernier enregistrement requête [AC-2003]


Sujet :

IHM

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut Dernier enregistrement requête
    Bonjour,

    Ma requête doit reprendre tous les derniers enregistrements par client ("customernumber). J'aimerais uniquement avoir dans le résultat de ma requête le dernier enregistrement en fonction du champ "Datetoday" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT tbl_listarrears.ID, tbl_listarrears.Customernumber, tbl_listarrears.Name, tbl_listarrears.Contract, tbl_phonecalls.Datetoday, tbl_phonecalls.Comment
    FROM tbl_listarrears INNER JOIN tbl_phonecalls ON tbl_listarrears.Customernumber = tbl_phonecalls.Customer
    ORDER BY tbl_listarrears.Name, tbl_listarrears.Contract;
    Je pense qu'il faut utiliser la fonction MAX mais je n'y arrive pas.

    Pourriez-vous m'aider svp ? Merci

  2. #2
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    J'ai enfin trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Max(tbl_phonecalls.Datetoday) AS MaxOfDatetoday, Last(tbl_phonecalls.Comment) AS LastOfComment
    Par contre, j'ai un problème.
    J'ai une liaison :
    Ma table1 comprend tous les contrats d'un même client. Un même client peut donc avoir plusieurs lignes.
    Ma table2 comprend les appels téléphoniques passés avec ces clients mais lorsqu'il n'existe pas encore d'appels téléphoniques, ma requête ne reprend pas les contrats de ma table1

    Dois-je mettre un critère dans ma requête sur les champs Datetoday et Comment ????

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    J'ai encore réessayé et le problème, c'est que pour certains records, il ne me donne pas le dernier champ "Comment" ; par contre il me donne bien les derniers champs "Datetoday" et "Datenextcall".

    Pourriez-vous m'aider en vérifiant ma query en pièce jointe svp ???
    Images attachées Images attachées   

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 106
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par lucas-18 Voir le message
    J'ai enfin trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Max(tbl_phonecalls.Datetoday) AS MaxOfDatetoday, Last(tbl_phonecalls.Comment) AS LastOfComment
    Par contre, j'ai un problème.
    J'ai une liaison :
    Ma table1 comprend tous les contrats d'un même client. Un même client peut donc avoir plusieurs lignes.
    Ma table2 comprend les appels téléphoniques passés avec ces clients mais lorsqu'il n'existe pas encore d'appels téléphoniques, ma requête ne reprend pas les contrats de ma table1

    Dois-je mettre un critère dans ma requête sur les champs Datetoday et Comment ????
    Bonjour,

    la solution à ton problème est une jointure droite qui te permet de prendre tous les enregistrements d'une table, y compris ceux qui n'ont pas de relation dans la seconde table.
    Je te conseille la lecture de http://mhubiche.developpez.com/Access/tutoJointures/, notamment le point 3.6.

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 482
    Points : 142
    Points
    142
    Par défaut
    Citation Envoyé par Aegnor Voir le message
    Bonjour,

    la solution à ton problème est une jointure droite qui te permet de prendre tous les enregistrements d'une table, y compris ceux qui n'ont pas de relation dans la seconde table.
    Je te conseille la lecture de http://mhubiche.developpez.com/Access/tutoJointures/, notamment le point 3.6.
    J'avais déjà une jointre droite (LEFT JOIN).
    Mes 2 champs date avec la fonction MAX reprennent bien les dates les + récentes du client en question par contre le champ Commentaire reprend des fois le plus récent, des fois l'avant dernier etc ...

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

Discussions similaires

  1. [Requête] dernier enregistrement
    Par Levon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/07/2007, 10h47
  2. Requête de tri sur les 20 derniers enregistrements
    Par kryogen dans le forum Langage SQL
    Réponses: 16
    Dernier message: 16/04/2007, 10h40
  3. [MySQL] Requête de tri sur les 20 derniers enregistrements
    Par kryogen dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/04/2007, 10h26
  4. créer une requête qui selectionne les 10 derniers enregistrements
    Par kuhnden dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 12/04/2007, 16h13
  5. requête : dernier enregistrement par personne
    Par Mélodicia dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/09/2006, 18h09

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