OVH Cloud OVH Cloud

Requête - doublons - Date

5 réponses
Avatar
F.F.
Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements pour
lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne, mais
je souhaiterai afficher dans ma requête, que celui pour lequel la date est
la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition de la
requête sur le champ "date".

Merci pour votre aide

F.F.

5 réponses

Avatar
Domi
Bonjour,

Fais une simple requête sélection avec les champs dont tu as besoin, dont le
champ date.

Ensuite fais un regroupement des données (menu <Affichage><Totaux> ou
<Opération> si antérieur à Access 2002).

Dans ta colonne date, dans le champ <Opération>, tu sélectionnes Max.

Bonne journée.

Domi


Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements pour
lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne, mais
je souhaiterai afficher dans ma requête, que celui pour lequel la date est
la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition de la
requête sur le champ "date".

Merci pour votre aide

F.F.





Avatar
Eric
Bonjour,

Je suppose que tu veux voir le contenu de tous les champs. Donc, dans ce
cas, mets en critere de ton champ date :
MaxDom("LeChampDate";"LaTable";"NumPersonne=" & NumPersonne) si
NumPersonne est numérique
ou
MaxDom("LeChampDate";"LaTable";"NumPersonne='" & NumPersonne &"'") si
NumPersonne est est Texte.

Un exemple si ta requête a 2 tables : client et facture en relation par
le NumClient.
Afficher le nom du client, la date de la derniere facture, son n° et la
date de règlement.
Tu prends NomClient dans client, DateFacture, numFacture et DateRglt
dans Facture
Sur DateFacture tu mets en critère :
MaxDom("DateFacture";"facture";"NumClient=" & [facture].[NumClient])
Il faut préfixer NumClient car il apparait dans les 2 tables.


Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements pour
lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne, mais
je souhaiterai afficher dans ma requête, que celui pour lequel la date est
la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition de la
requête sur le champ "date".

Merci pour votre aide

F.F.




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
F.F.
Bonjour,

Je te remercie pour ton aide, mais j'essaie d'appliquer ta formule , mais ça
coince :

Lorsque je lance ma requête, j'ai le sablier, et finalement Access ne répond
plus.

Le critère que j'ai sur le champ date est le suivant :

MaxDom("ENVDTHE";"ENTREVEH";"ENVCDGVEH=" & [ENTREVEH].[ENVCDGVEH])

ENVDTHE est le champ date
ENTREVEH est le nom de la table
ENVCDGVEH est numéro (correspnodant dans ton exemple à NumPersonne)

Aurais-tu une idée ?
La formule est-elle la bonne ,

Merci,

F.F.




"Eric" a écrit dans le message de
news:%
Bonjour,

Je suppose que tu veux voir le contenu de tous les champs. Donc, dans ce
cas, mets en critere de ton champ date :
MaxDom("LeChampDate";"LaTable";"NumPersonne=" & NumPersonne) si
NumPersonne est numérique
ou
MaxDom("LeChampDate";"LaTable";"NumPersonne='" & NumPersonne &"'") si
NumPersonne est est Texte.

Un exemple si ta requête a 2 tables : client et facture en relation par
le NumClient.
Afficher le nom du client, la date de la derniere facture, son n° et la
date de règlement.
Tu prends NomClient dans client, DateFacture, numFacture et DateRglt
dans Facture
Sur DateFacture tu mets en critère :
MaxDom("DateFacture";"facture";"NumClient=" & [facture].[NumClient])
Il faut préfixer NumClient car il apparait dans les 2 tables.


Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements
pour


lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne,
mais


je souhaiterai afficher dans ma requête, que celui pour lequel la date
est


la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition de
la


requête sur le champ "date".

Merci pour votre aide

F.F.




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
re,

La formule me parait bonne. Par contre ta table doit contenir un nombre
très important d'enregistrements et dans ce cas là les fonctions de
domaine sont très pénalisantes.
Peut-être faudrait-il passer par une requête intemédiaire donnant pour
le code la date la plus grande (Requête en regroupement sur ENVCDGVEH et
Max sur ENVDTHE puis lier cette requête à la table concernée sur les 2
champs.

Bonjour,

Je te remercie pour ton aide, mais j'essaie d'appliquer ta formule , mais ça
coince :

Lorsque je lance ma requête, j'ai le sablier, et finalement Access ne répond
plus.

Le critère que j'ai sur le champ date est le suivant :

MaxDom("ENVDTHE";"ENTREVEH";"ENVCDGVEH=" & [ENTREVEH].[ENVCDGVEH])

ENVDTHE est le champ date
ENTREVEH est le nom de la table
ENVCDGVEH est numéro (correspnodant dans ton exemple à NumPersonne)

Aurais-tu une idée ?
La formule est-elle la bonne ,

Merci,

F.F.




"Eric" a écrit dans le message de
news:%

Bonjour,

Je suppose que tu veux voir le contenu de tous les champs. Donc, dans ce
cas, mets en critere de ton champ date :
MaxDom("LeChampDate";"LaTable";"NumPersonne=" & NumPersonne) si
NumPersonne est numérique
ou
MaxDom("LeChampDate";"LaTable";"NumPersonne='" & NumPersonne &"'") si
NumPersonne est est Texte.

Un exemple si ta requête a 2 tables : client et facture en relation par
le NumClient.
Afficher le nom du client, la date de la derniere facture, son n° et la
date de règlement.
Tu prends NomClient dans client, DateFacture, numFacture et DateRglt
dans Facture
Sur DateFacture tu mets en critère :
MaxDom("DateFacture";"facture";"NumClient=" & [facture].[NumClient])
Il faut préfixer NumClient car il apparait dans les 2 tables.



Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements



pour

lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne,



mais

je souhaiterai afficher dans ma requête, que celui pour lequel la date



est

la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition de



la

requête sur le champ "date".

Merci pour votre aide

F.F.




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
F.F.
Oui, tout à fait la table est grande. Je pensais qu'ACCESS se plantait, mais
non, il est tout simplement long à traiter la requête (environ 2 minutes)
Mais bon, le résultat entendu est là !
je vais essayer de paufiner un peu pour gagner un peu de temps.

Meric beaucoup pour ton aide

"Eric" a écrit dans le message de
news:
re,

La formule me parait bonne. Par contre ta table doit contenir un nombre
très important d'enregistrements et dans ce cas là les fonctions de
domaine sont très pénalisantes.
Peut-être faudrait-il passer par une requête intemédiaire donnant pour
le code la date la plus grande (Requête en regroupement sur ENVCDGVEH et
Max sur ENVDTHE puis lier cette requête à la table concernée sur les 2
champs.

Bonjour,

Je te remercie pour ton aide, mais j'essaie d'appliquer ta formule ,
mais ça


coince :

Lorsque je lance ma requête, j'ai le sablier, et finalement Access ne
répond


plus.

Le critère que j'ai sur le champ date est le suivant :

MaxDom("ENVDTHE";"ENTREVEH";"ENVCDGVEH=" & [ENTREVEH].[ENVCDGVEH])

ENVDTHE est le champ date
ENTREVEH est le nom de la table
ENVCDGVEH est numéro (correspnodant dans ton exemple à NumPersonne)

Aurais-tu une idée ?
La formule est-elle la bonne ,

Merci,

F.F.




"Eric" a écrit dans le message de
news:%

Bonjour,

Je suppose que tu veux voir le contenu de tous les champs. Donc, dans ce
cas, mets en critere de ton champ date :
MaxDom("LeChampDate";"LaTable";"NumPersonne=" & NumPersonne) si
NumPersonne est numérique
ou
MaxDom("LeChampDate";"LaTable";"NumPersonne='" & NumPersonne &"'") si
NumPersonne est est Texte.

Un exemple si ta requête a 2 tables : client et facture en relation par
le NumClient.
Afficher le nom du client, la date de la derniere facture, son n° et la
date de règlement.
Tu prends NomClient dans client, DateFacture, numFacture et DateRglt
dans Facture
Sur DateFacture tu mets en critère :
MaxDom("DateFacture";"facture";"NumClient=" & [facture].[NumClient])
Il faut préfixer NumClient car il apparait dans les 2 tables.



Bonjour à tous,

Toujours très début dans l'usage d'Access, je me tourne vers vous pour
certainement trouver une solution à mon besoin :

Dans une requête, je souhaiterais ne retenir que les enregistrements



pour

lesquels un champ "date", dont je dispose, est le plus récent.

Autrement dit, j'ai plusieurs enregistrements pour une même personne,



mais

je souhaiterai afficher dans ma requête, que celui pour lequel la date



est

la plus récente.

Mon problème, je ne sais pas quelle formule placer dans la définition
de





la

requête sur le champ "date".

Merci pour votre aide

F.F.




--
A+
Eric
http://users.skynet.be/mpfa/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr