Requête ou code VBA

Le
JMH
Bonjour
J'ai un fichier de ce style.
Il s'agit d'un fichier des modifications effectuées dans un fichier Adresse.
Il ne contient que les valeurs des champs qui ont été modifiés.

Date NoClient NomClient Adresse Ville
etc
01.01.07 432 Albert Rue xz Lille
02.01.07 432 Rte du Lac
03.01.07 432
Paris
04.01.07 432 Rte abc

Je dois créer un fichier qui contiendra pour chaque compte que les dernières
modifications effectuées pour chaque champe.
Dans l'exemple ci-dessus, je devrais trouver:
Date NoClient NomClient Adresse Ville
etc
01.01.07 432 Albert Rue abc Paris

A noter que mon fichier réel contient environ 20 champs.

Comment je dois procéder pour arriver à ce résultat. Requête (mais comment?)
ou code VBA avec un recordset Entrée et un Sortie afin de mettre à "plat"
chaque client.

Merci d'avance pour vos réponses.

Jean-Michel H.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SylCap
Le #6180011
Bon,

A tester,

Avec une requete regroupement,
Sur le champ date tu prends le MAX ou MIN(c'est ton exemple)
sur les champs adresses villes (les champs modifiés)tu prends DERNIER.

J'espère que ça collera.

:-)




Bonjour
J'ai un fichier de ce style.
Il s'agit d'un fichier des modifications effectuées dans un fichier Adresse.
Il ne contient que les valeurs des champs qui ont été modifiés.

Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue xz Lille
02.01.07 432 Rte du Lac
03.01.07 432
Paris
04.01.07 432 Rte abc

Je dois créer un fichier qui contiendra pour chaque compte que les dernières
modifications effectuées pour chaque champe.
Dans l'exemple ci-dessus, je devrais trouver:
Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue abc Paris

A noter que mon fichier réel contient environ 20 champs.

Comment je dois procéder pour arriver à ce résultat. Requête (mais comment?)
ou code VBA avec un recordset Entrée et un Sortie afin de mettre à "plat"
chaque client.

Merci d'avance pour vos réponses.

Jean-Michel H.





ze Titi
Le #6180001
Bonjour JMH

Une requête avec un TOP devrait suffire mais je ne suis plus sûr de la
syntaxe...

SELECT TOP 1 *
FROM taTable
GROUP BY NoClient
ORDER BY Date DESC

Dans ton message
Bonjour
J'ai un fichier de ce style.
Il s'agit d'un fichier des modifications effectuées dans un fichier Adresse.
Il ne contient que les valeurs des champs qui ont été modifiés.

Date NoClient NomClient Adresse Ville etc...
01.01.07 432 Albert Rue xz Lille
02.01.07 432 Rte du Lac
03.01.07 432 Paris
04.01.07 432 Rte abc

Je dois créer un fichier qui contiendra pour chaque compte que les dernières
modifications effectuées pour chaque champe.
Dans l'exemple ci-dessus, je devrais trouver:
Date NoClient NomClient Adresse Ville etc...
01.01.07 432 Albert Rue abc Paris

A noter que mon fichier réel contient environ 20 champs.

Comment je dois procéder pour arriver à ce résultat. Requête (mais comment?)
ou code VBA avec un recordset Entrée et un Sortie afin de mettre à "plat"
chaque client.

Merci d'avance pour vos réponses.

Jean-Michel H.


--
Cordialement,
Ze Titi

Tout pour réussir avec Access :
http://www.mpfa.info

Eric
Le #6179901
Bonjour,

Quelques éclaircissements:
1-Qu'entends-tu par fichier ? Une table ou un fichier de données (genre
Donnees.txt) car le traitement ne sera pas le même. Le fichier est-il
attaché/importé à/dans la bd ? Ou ça n'a rien à voir. Le but étant de
créer un nouveau fichier avec une seule ligne par compte.

2-Signification de la date dans ton résultat final:
01.01.07 432 Albert Rue abc Paris


Sur quel critère doit-on considérer qu'il faut retenir le 01.01.07 ?

En fonction, une technique ou une autre.


Bonjour
J'ai un fichier de ce style.
Il s'agit d'un fichier des modifications effectuées dans un fichier Adresse.
Il ne contient que les valeurs des champs qui ont été modifiés.

Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue xz Lille
02.01.07 432 Rte du Lac
03.01.07 432
Paris
04.01.07 432 Rte abc

Je dois créer un fichier qui contiendra pour chaque compte que les dernières
modifications effectuées pour chaque champe.
Dans l'exemple ci-dessus, je devrais trouver:
Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue abc Paris

A noter que mon fichier réel contient environ 20 champs.

Comment je dois procéder pour arriver à ce résultat. Requête (mais comment?)
ou code VBA avec un recordset Entrée et un Sortie afin de mettre à "plat"
chaque client.

Merci d'avance pour vos réponses.

Jean-Michel H.




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

JMH
Le #6198911
OK, je précise
J'ai une table d'adresses
Dans un formulaire: A chaque modif d'un champ je crée un record dans une
table que j'appelerais Log. (ce record hormis le NoClient ne contient que la
valeur des champ modifiés)
Je suis appellé à transmettre les informations de la table Log régulièrement
à un tiers.
Mais, si on a dans cet intervalle de temps été modifier plusieurs fois la
même adresse, j'aimerai retrouver qu'un seul record de Log avec toutes les
modif. apportées.
Pour faire plus simple, c'est comme tu dis à la fin de ta phrase.
Je vais créer une table qui contiendra pour chaque compte une seule ligne,
mais avec pour chaque champs sa donnée la plus récente.
Ouf....
Merci d'avance.



Bonjour,

Quelques éclaircissements:
1-Qu'entends-tu par fichier ? Une table ou un fichier de données (genre
Donnees.txt) car le traitement ne sera pas le même. Le fichier est-il
attaché/importé à/dans la bd ? Ou ça n'a rien à voir. Le but étant de
créer un nouveau fichier avec une seule ligne par compte.

2-Signification de la date dans ton résultat final:
01.01.07 432 Albert Rue abc
Paris


Sur quel critère doit-on considérer qu'il faut retenir le 01.01.07 ?

En fonction, une technique ou une autre.


Bonjour
J'ai un fichier de ce style.
Il s'agit d'un fichier des modifications effectuées dans un fichier
Adresse. Il ne contient que les valeurs des champs qui ont été modifiés.

Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue xz
Lille
02.01.07 432 Rte du Lac
03.01.07 432 Paris
04.01.07 432 Rte abc

Je dois créer un fichier qui contiendra pour chaque compte que les
dernières modifications effectuées pour chaque champe.
Dans l'exemple ci-dessus, je devrais trouver:
Date NoClient NomClient Adresse Ville
etc...
01.01.07 432 Albert Rue abc
Paris

A noter que mon fichier réel contient environ 20 champs.

Comment je dois procéder pour arriver à ce résultat. Requête (mais
comment?) ou code VBA avec un recordset Entrée et un Sortie afin de
mettre à "plat" chaque client.

Merci d'avance pour vos réponses.

Jean-Michel H.




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



Eric
Le #6198771
Bonsoir,

Le problème est résolu ?

OK, je précise
J'ai une table d'adresses
Dans un formulaire: A chaque modif d'un champ je crée un record dans une
table que j'appelerais Log. (ce record hormis le NoClient ne contient que la
valeur des champ modifiés)
Je suis appellé à transmettre les informations de la table Log régulièrement
à un tiers.
Mais, si on a dans cet intervalle de temps été modifier plusieurs fois la
même adresse, j'aimerai retrouver qu'un seul record de Log avec toutes les
modif. apportées.
Pour faire plus simple, c'est comme tu dis à la fin de ta phrase.
Je vais créer une table qui contiendra pour chaque compte une seule ligne,
mais avec pour chaque champs sa donnée la plus récente.
Ouf....
Merci d'avance.



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

Willi2004
Le #6198761
Salut JHM.
Voir ici pour une idée.
Pas parfait mais cela pourrait te donner des pistes.
http://cjoint.com/?cBvyR8HKP3
JMH
Le #6198741
Non non pas encore résolu.

Mais je m'y attelle.
A+

"Eric" %23gp%
Bonsoir,

Le problème est résolu ?

OK, je précise
J'ai une table d'adresses
Dans un formulaire: A chaque modif d'un champ je crée un record dans une
table que j'appelerais Log. (ce record hormis le NoClient ne contient que
la valeur des champ modifiés)
Je suis appellé à transmettre les informations de la table Log
régulièrement à un tiers.
Mais, si on a dans cet intervalle de temps été modifier plusieurs fois la
même adresse, j'aimerai retrouver qu'un seul record de Log avec toutes
les modif. apportées.
Pour faire plus simple, c'est comme tu dis à la fin de ta phrase.
Je vais créer une table qui contiendra pour chaque compte une seule
ligne, mais avec pour chaque champs sa donnée la plus récente.
Ouf....
Merci d'avance.



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



Willi2004
Le #6198731
J'ai essayé d'aménager un peu.
Oublie le premier lien et vois plutôt ici:
http://cjoint.com/?cBxHY12ne3
JMH
Le #6198711
Merci à toi pour ton exemple.


"Willi2004"
J'ai essayé d'aménager un peu.
Oublie le premier lien et vois plutôt ici:
http://cjoint.com/?cBxHY12ne3



Eric
Le #6197901
Bonjour,

Si tu veux conserver ta table Log initiale, c'est à dire contenant
toutes les modifs sur les adresses aux différentes dates, avec un peu de
SQL et du DAO, cela est faisable.
Un exemple simplifié ici : http://cjoint.com/?cCqat20xNF
La procédure crée la table Log Final la 1ere fois et stocke pour chaque
client une ligne avec toutes les modifs à la dernière date. Les fois
suivantes, la table est purgée des enregistrements antérieurs car je ne
sais pas comment tu gères la table Log initial.

A tester sur une table volumineuse car j'ai repris à quelque chose près
ton exemple. Si ça peut aider.

Non non pas encore résolu.

Mais je m'y attelle.
A+




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

Publicité
Poster une réponse
Anonyme