Bon déjà je suis désolé de venir poser une question qui va apparaître à tout le monde super simple. C'est pas faute d'avoir cherché, d'avoir demandé (à deux amis supposés être compéténts dans le sql). Je me suis balladé sur le forum. J'ai rien vu qui aurait pu m'aider. Mon problème est super simple :
- 1 table facture
- 3 champs :
1/ IDF identifiant facture (sans doublons)
2/ IDC identifiant client (avec doublons)
3/ DATF date de la facture
Je veux pour chaque client l'identifiant de la dernière facture ainsi que la date correspondante. J'ai utilisé cette syntaxe mais il me renvoie un tableau qui contient toutes les factures :
J'ai essayé
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT TABLE.IDC, Max(TABLE.DATF) AS MaxDeDATF, TABLE.IDF INTO essai FROM [TABLE] GROUP BY TABLE.IDC, TABLE.IDF;
Mais access m'affiche un message d'erreur comme quoi la fonction d'agrégat peut pas être utilisé dans ce cas-là. J'ai bien compris qu'en r=faisant group by (identifiant de facture) ca ne pouvait pas marché vu que les identifiant facture sont tous différents. Je me demande s'ils ne faut pas créer une autre variable qui soit lié à la date max mais j'en suis pas sûr. Merci d'avance de votre aide!!!
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT TABLE.IDC, Max(TABLE.DATF) AS MaxDeDATF, TABLE.IDF INTO essai FROM [TABLE] GROUP BY TABLE.IDC;
ps: j'ai mis en pieces jointes le fichier access qui contient la table en question. On a 20027 contacts.
Partager