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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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