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 14/08/2011, 11h35   #1
Invité de passage
 
Homme Guy
Inscription : juin 2005
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme Guy
Âge : 69
Localisation : Belgique

Informations forums :
Inscription : juin 2005
Messages : 20
Points : 3
Points : 3
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
Guy FALESSE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 11h55   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 13h20   #3
Invité de passage
 
Homme Guy
Inscription : juin 2005
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme Guy
Âge : 69
Localisation : Belgique

Informations forums :
Inscription : juin 2005
Messages : 20
Points : 3
Points : 3
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
Guy FALESSE est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 13h28   #4
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
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 415
Points : 4 446
Points : 4 446
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
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 14h20   #5
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
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 !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2011, 17h20   #6
Membre émérite
 
Conseil + Formation
Inscription : février 2010
Messages : 583
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Conseil + Formation

Informations forums :
Inscription : février 2010
Messages : 583
Points : 885
Points : 885
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 ?
78chris est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/08/2011, 10h47   #7
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
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 :
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 :
1
2
 
SELECT Table1.N°, maxdate([]) AS [max] FROM Table1;
A adapter, bien sur.
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h52.


 
 
 
 
Partenaires

Hébergement Web