Access : dernier enregistrement d'un historiq

Fermé
miaoshan Messages postés 2 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 25 avril 2008 - 24 avril 2008 à 17:20
miaoshan Messages postés 2 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 25 avril 2008 - 25 avril 2008 à 15:01
Bonjour,

je réalise actuellement une base de données de facturation clients dont je souhaite conserver les anciennes adresses pour obtenir un historique.

J'ai donc créé deux tables :
- une table client : num client, nom, prenom...
- une table adresse : num adresse, adresse, date, ref client...

J'ai créé un formulaire Client où l'on selectionne dans une liste déroulante le nom du client pour faire afficher toutes ses coordonnées. J'aimerai alors afficher dans ce formulaire seulement la dernière adresse en date correspondant à ce client.

J'ai essayé d'insérer un sous formulaire basé sur la table adresse avec une requète en triant la table adresse sur la date, mais il ne m'affiche rien.
Je crois que le problème est lié à la liste déroulante qui permet de sélectionner le client.
Voilà le SQL de la requète que j'ai fait :

Code :
SELECT [Adresse Client].[Ref Client], [Adresse Client].[Date habitation], [Adresse Client].[Adresse 1 Client], [Adresse Client].[Adresse 2 Client], [Adresse Client].CP, [Adresse Client].Ville
FROM Client INNER JOIN [Adresse Client] ON Client.[N° Client Emeraude]=[Adresse Client].[Ref Client]
ORDER BY [Adresse Client].[Ref Client], [Adresse Client].[Date habitation] desc;

Il m'affiche alors bien un tableau trié selon le client puis selon la date, mais je n'arrive pas à lui faire afficher la dernière adresse en date pour un client donné. Faut-il un "top 1" ou un "max" quelquepart?


Je voulais savoir s'il y avait un moyen de faire afficher uniquement la dernière adresse en date d'un client ? Est-ce que passer par un sous-formulaire et une requète est la bonne solution ?


Merci à tous ceux qui pourront m'aider!

2 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
24 avril 2008 à 23:54
Bonjour miaoshan,

Tu pourrais baser le formulaire sur une requête, elle même basée sur la table clients et la table adresse, en demandant un Max sur le champ DateHabitation.

Ca serait plus pratique qu'un sous-formulaire destiné uniquement à faire apparaître la dernière adresse. Mais attention, ce formulaire ne sera utilisable que pour consultation, par pour un ajout de client par exemple...
0
miaoshan Messages postés 2 Date d'inscription jeudi 24 avril 2008 Statut Membre Dernière intervention 25 avril 2008
25 avril 2008 à 15:01
Merci pour ton aide LatelyGeek !
0