Access Champ calculé Date maximum

Résolu/Fermé
Signaler
Messages postés
76
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
8 avril 2016
-
Messages postés
23846
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 janvier 2022
-
Bonjour,

J'ai créé une petite base de données pour suivre des rendez vous clients.
Je souhaiterais faire apparaître la date du dernier RDV pour chaque client sur un formulaire mais je n'y arrive pas.

Je m'explique :

J'ai 2 tables
- 1 pour la liste des clients
- 1 pour les entretiens (Comptes-rendus d'entretien) dont champ "date RDV"
ces 2 tables sont reliées par la refClient

Mon formulaire affiche le listing des clients
J'ai mis dans mon champ "Dernier RDV" du formulaire :
=MaxDom("[DateRDV]";"[Comptes-rendus d'entretien]")

Mais, le résultat retourné est une date unique : la date max pour tous les clients confondus

Avez vous la solution SVP ?

Merci d'avance

Lulu

Access 2003
A voir également:

2 réponses

Messages postés
23846
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 janvier 2022
3 161
Salut,

ce qui arrive est tout à fait normal.

Il faut rajouter un paramètre à maxdom, dans lequel tu lui indiques la refclient pour laquelle du veux le maxi...
1
Messages postés
76
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
8 avril 2016
13
Salut blux,
Je suis débutante sous access, du coup je ne comprend pas encore très bien la synthaxe
Comment je peux adapter ma formule ?

=MaxDom("[DateRDV]";"[Comptes-rendus d'entretien]";"[RefClient]"= ??? )
Merci d'avance
0
Messages postés
23846
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 janvier 2022
3 161
En principe, ça devrait être : "[RefClient] = " & nom_du_champ_du_formulaire)
0
Messages postés
76
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
8 avril 2016
13
Re,

=MaxDom("[DateRDV]";"[CR]";"[RefClient]=" & [RefClient])

Ca y est ça marche !
Merci beaucoup
0
Messages postés
23846
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
15 janvier 2022
3 161
Depuis le temps que je milite pour les fonctions de domaine, je suis ravi de voir que ça peut servir, même à 'une débutante sous access', preuve que ce n'est pas si compliqué...
0
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111
Bonjour lulu37,

Avec cette syntaxe vous obtiendrez, après adaptation, je pense, satisfaction.
A noter qu'en remplaçant last par first vous obtiendrez le contraire .....

SELECT <Table.champ>, Last(<TABLE>.[<champ_date>]) AS DernierDe<champ_date>]
FROM VALEURS
GROUP BY <Table.champ>
ORDER BY <Table.champ>, Last(<TABLE>.[<champ_date>]);

Cordialement
0
Messages postés
76
Date d'inscription
jeudi 24 août 2006
Statut
Membre
Dernière intervention
8 avril 2016
13
Bonjour Jean Jacques,

Comme je l'ai annoncé à Blux, je suis débutante et ai du mal avec toutes ces syntaxes.
J'ai indiqué ceci dans la source de mon contrôle mais ça m'indique une valeur d'erreur #NOM?

SELECT CR.RefClient, Last(CR.[DateRDV]) AS DernierDe [DateRDV] FROM VALEURS GROUP BY CR.RefClient ORDER BY CR.RefClient, Last(CR.[DateRDV]) ;

je ne fais donc référence qu'à ma table CR (=comptes rendus d'entretien) dans laquelle se trouvent les dates des RDV champ DateRDV et la RefClient pour laquelle je souhaite chaque valeur max....??

Où est l'erreur ?

Si vous pouvez m'expliquer un peu le principe de la syntaxe ça pourrait m'être très utile pour la suite également

Merci d'avance

Lulu
0
Messages postés
1040
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
1 août 2014
111
Bonsoir lulu37,

C'est Blux qui tient le bon bout, si j'ose dire. Ce qu'il propose est adapté à votre problématique.

Car dans le cas présent, ma solution n'est pas adaptée.
Cordialement
0