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 :

Recherche date la plus récente entre plusieurs champs date de noms différents


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut Recherche date la plus récente entre plusieurs champs date de noms différents
    Bonjour,

    Comme dit le titre, je cherche à savoir comment faire pour afficher le champ date le plus récent entre plusieurs champs date différents comme:

    Date01-date02-date03-date04 etc.

    Je suppose qu'on devrait utiiser la fonction max, mais comment mettre les paramètres, mystère.
    D'avance merci,

    Guy Falesse

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Guy,

    L'astucieuse solution du non moins astucieux Marot_r à adapter à ton besoin.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 101
    Points
    101
    Par défaut
    Merci Richard, pour ta réponse.
    Le problème est qu'il s'agit de 22 champs et là, je ne suis pas sorti de l'auberge.
    Au fait, la fonction max() existe bien en access, mais je ne sais pas m'en servir

    Guy

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


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 604
    Points : 56 720
    Points
    56 720
    Billets dans le blog
    40
    Par défaut
    Bonjour Guy, et salut Richard de retour de vacances...

    la solution proposée par ClaudeLELOUP devrait te convenir:
    Pour trouver le Minimum ou le Maximum

  5. #5
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Fabien (toujours sur la brèche, donc...) et Claude (l'auteur de la fonction finale sans limitation du nombre de dates de la série).

    La suite appartient à Guy.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 414
    Points : 16 256
    Points
    16 256
    Par défaut
    Bonjour

    Je peux me tromper mais 22 champs date dans la même table laisse supposer une possible erreur de conception : peux préciser la structure de ta table et le rôle de ces champs ?
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    Je propose cet exemple
    Table1 comprend au moins un champ unique (ici: N°) qui identifiera chaque enregistrement et un certain nombre de champs Date
    Le code ci-dessous permettra à partir de ce champs unique de calculer la date max indépendamment du nombre de champs Date d'un enregistrement
    Ici N° peut être remplacer par un champ Texte ou autre s'il reste unique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Function MaxDate(n As Long) As Date
     Dim t As DAO.Recordset, f As Field
     Set t = CurrentDb.OpenRecordset("Table1", dbOpenDynaset)
     t.FindFirst "[N°]=" & n
     If Not t.NoMatch Then
      MaxDate = 0
      For Each f In t.Fields
       If f.Type = dbDate Then If f.Value > MaxDate Then MaxDate = f.Value
      Next f
     End If
     t.Close
    End Function
    qui peut être utilisé dans une requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT Table1.N°, maxdate([]) AS [max] FROM Table1;
    A adapter, bien sur.

Discussions similaires

  1. Date la plus récente entre 2 colonnes
    Par okoweb dans le forum Requêtes
    Réponses: 14
    Dernier message: 05/07/2013, 18h12
  2. Réponses: 1
    Dernier message: 17/05/2011, 10h29
  3. Réponses: 1
    Dernier message: 21/04/2009, 22h17
  4. Affichage date plus récente dans requête champ expression
    Par sl1980 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 17/08/2007, 09h47
  5. Rechercher la date la plus récente dans une BD
    Par kurkaine dans le forum C++Builder
    Réponses: 3
    Dernier message: 29/07/2006, 19h10

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