Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2011, 11h32   #1
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Par défaut Sélectionner la date la plus récente dans une table et la stocker dans une autre

Bonjour à tous,

Je voudrais grâce à VBA Access, sélectionner la date la plus récente d'une table et la stocker dans une autre table.

J'ai donc 2 tables. L'une est formée d'un champs identifiant et de la date la plus récente que je voudrais stocker.
L'autre est formé des mêmes identifiant, mais répétés plusieurs fois avec un champ date où est stocker plusieurs dates pour chaque identifiant.

Par exemple j'ai les id : 449 et 450 dans ma 1ère table.
Dans la seconde j'ai 449 31/12/2010, 449 12/12/2010, 449 01/01/2009.
Et 450 21/11/2010, 450 11/11/2009.
Et donc j'aimerais mettre dans ma 1ère table :
449 31/12/2010, 450 21/11/2010.

J'ai pensé à un enchainement :
Faire une boucle sur l'id de la 1ère table.
Pour chaque ID (ex : 449) :
On stocke l'ID dans Var
Req = Dlookup("Max('[Date]')","Table2","[ID] = ' " & Var & " ' ")
Stocker ensuite Req dans la table1 champs Daterécente pour l'ID Var.
Passer à l'ID suivant.

Mais je ne sais pas comment l'écrire en VBA.

Quelqu'un pourrais me donner une piste? Utiliser des record set ou non ou autre chose?

Merci d'avance.

Cordialement,

Q.D.
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 12h05   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
bonjour,

cela devrait marcher avec une requête de mise à jour:

Code sql :
UPDATE TblDestination  SET LaDateMax = Dmax("LaDate", "TblInitiale", "id=" & id);
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 12h10   #3
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
Euh ok, et je met ça comme ça dans un module VBA?
Sans boucle sur l'id?

J'ai essayé :

Code :
Req = DLookup("Max([DATE])", "SRRI_HISTORY", "[SC_ID] = " & Var & "")
Cela stocke la bonne date, mais je ne sais juste pas comment boucler ensuite sur l'id de la table1 pour le mettre en variable Var...
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 12h50   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 410
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 410
Points : 4 439
Points : 4 439
tu enregistres la requête UPDATE puis en VBA,

Code :
CurrentDb.Execute ("NomDeLaRequete", dbFailOnError)
avec la gestion d'erreur qui va bien (cf aide Access sur Database.execute)
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2011, 13h46   #5
Membre actif
 
Homme Quentin D.
Étudiant
Inscription : avril 2011
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme Quentin D.
Âge : 25
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Étudiant
Secteur : Finance

Informations forums :
Inscription : avril 2011
Messages : 175
Points : 165
Points : 165
WOW! Super ça fonctionne !
Merci beaucoup pour le coup de main ^^!
Nitromard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h01.


 
 
 
 
Partenaires

Hébergement Web