Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtre pour un état

1 réponse
Avatar
Leyley39
Bonjour

Est-ce possile créer un filtre pour un état avec un bouton de commande pour
filtrer des enregistrements entre deux dates d'activité ?

Mon état est fait à partir d'une requête qui demande par deux fois la date
de début et de fin d'activité (donc assez lourd pour les utilisateurs). J'ai
un code qui fonctionne bien pour les formulaires mais je ne sais pas comment
le tranasformer pour un état.

Me.nom du formulaire.Form.FilterOn = True
Me.nom du formulaire.Form.Filter = "[DATE ACTIVITE] BETWEEN # " &
Format(Me.ladateDébut, "mm/dd/yyyy") & "# AND #" & Format(Me.ladateFin,
"mm/dd/yyyy") & "#"
Else
Me.nom du formulaire.Form.FilterOn = False
--
Merci de votre aide

Leyley39

1 réponse

Avatar
Argyronet
Bonjour,

Le plus simple et le plus efficace consite à créer dynamiquement une requête
définie en fonction des valeurs de date de début et de fin.
Cette requête existe ou n'existe pas (cas de première utilisation) et se
créée ou se met à jour dynamiquement. Pour ce faire, usez d'un objet QueryDef
avec respectivement un CreateQueryDef() pour l'un et la M.A.J. de la
propriété .sql de l'objet QueryDef déclaré pour l'autre...

Exemple :
Sub MAJRequetePourMonEtata(ByVal DateDebut As String, ByVal DateFin As String)
Const MA_REQUETE_FILTRE As String = "req_EnregistrementsSelonPeriode"
Dim strSQLRequete As String
Dim oQDF As DAO.QueryDef

On Error Resume Next
strSQLRequete = "SELECT * FROM MatTable "
strSQLRequete = strSQLRequete & "WHERE [DATE ACTIVITE] >= " &
Format$(DateDebut, "mm/dd/yyyy") & " AND [DATE ACTIVITE] <= " &
Format$(DateDebut, "mm/dd/yyyy") & ";"
Set oQDF = CurrentDb.QueryDefs(MA_REQUETE_FILTRE)
If Err <> 0 Then
Err.Clear
Set oQDF = CurrentDb.CreateQueryDef(MA_REQUETE_FILTRE, strSQLRequete)
Else
oQDF.SQL = strSQLRequete
End If
End Sub

--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)



"Leyley39" a écrit :

Bonjour

Est-ce possile créer un filtre pour un état avec un bouton de commande pour
filtrer des enregistrements entre deux dates d'activité ?

Mon état est fait à partir d'une requête qui demande par deux fois la date
de début et de fin d'activité (donc assez lourd pour les utilisateurs). J'ai
un code qui fonctionne bien pour les formulaires mais je ne sais pas comment
le tranasformer pour un état.

Me.nom du formulaire.Form.FilterOn = True
Me.nom du formulaire.Form.Filter = "[DATE ACTIVITE] BETWEEN # " &
Format(Me.ladateDébut, "mm/dd/yyyy") & "# AND #" & Format(Me.ladateFin,
"mm/dd/yyyy") & "#"
Else
Me.nom du formulaire.Form.FilterOn = False
--
Merci de votre aide

Leyley39