IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Sélectionner la date la plus récente dans une table et la stocker dans une autre


Sujet :

VBA Access

  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    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.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 171
    Billets dans le blog
    47
    Par défaut
    bonjour,

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

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE TblDestination  SET LaDateMax = Dmax("LaDate", "TblInitiale", "id=" & id);

  3. #3
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut
    Euh ok, et je met ça comme ça dans un module VBA?
    Sans boucle sur l'id?

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 171
    Billets dans le blog
    47
    Par défaut
    tu enregistres la requête UPDATE puis en VBA,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrentDb.Execute ("NomDeLaRequete", dbFailOnError)
    avec la gestion d'erreur qui va bien (cf aide Access sur Database.execute)

  5. #5
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 175
    Par défaut
    WOW! Super ça fonctionne !
    Merci beaucoup pour le coup de main ^^!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/05/2015, 14h29
  2. Réponses: 7
    Dernier message: 18/12/2013, 14h29
  3. Réponses: 2
    Dernier message: 17/01/2010, 18h09
  4. Réponses: 1
    Dernier message: 31/03/2009, 22h59
  5. Réponses: 3
    Dernier message: 15/10/2008, 09h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo