Obtenir la dernière date

Cameliar -  
 Cameliar -
Bonjour,

J'ai une BD access dans laquelle je gère des clients et des visites. Chaque visite montre la date à laquelle celle-ci a eu lieu.

J'aimerais obtenir dans une requête, la dernière visite de chaque client. Comme la requête inclus 2 tables, lorsque je demande "Totaux" et que je met Max ou Dernier, avec tri ou pas, access me donne quand même plusieurs visites, puisque celles ci montrent différentes actions faites lors de la visite.

J'aimerais voir uniquement la dernière visite pour ceux qui ont fait un achat, par exemple et voir l'achat. J'ai donc mon critère "achat" et l'article dans un autre champ. Le problème, c'est que si le client vient 3 fois, fais 3 achats différents, j'ai beau demandé à access de me montrer uniquement la dernière date, il me montre les 3 puisqu'elles sont différentes.

Je ne peux pas changer l'option Tout pour "1" puisque ça ne me donne que le dernier client qui est venu, moi je veux la dernière visite de chaque client.

J'ai pensé mettre une case à cocher "Dernière visite" dans la table visite, mais je ne sais pas trop comment la coder. Mettre active, ça va... mais s'il revient demain, comment je fais pour désactiver la précédente et activer seulement celle là?

Merci de votre aide, je suis vraiment dans une impasse.

<config>Windows 7 / Access 2010</config>
A voir également:

1 réponse

Cameliar
 
Laissez, j'ai trouvé, c'est pas le klondike, mais ça marche.

ddate = Me.Date_de_la_visite.Value
If Not ddate = "" Then
DoCmd.SetWarnings False
DoCmd.RunSQL "UPDATE [Information sur les visites] SET [Information sur les visites].[Dernière visite] = false WHERE ([Information sur les visites].[numéro de dossier] = '" & Me.[Numéro de dossier] & "')"
DoCmd.RunSQL "UPDATE [Information sur les visites] SET [Information sur les visites].[Dernière visite] = true WHERE ([Information sur les visites].[numéro de dossier] = '" & Me.[Numéro de dossier] & "') and " & "([Information sur les visites].[date de la visite] = #" & ddate & "#);"
DoCmd.SetWarnings True
End If
0