Bonjour,
J'ai cherché des heures mais je ne trouve pas comment faire :
J'ai un formulaire avec une liste d'enregistrements et des contrôles permettant de filtrer les enregistrements. Pour exécuter le filtrage dont pour certains un peu compliqués, je souhaite :
- Cloner la source du formulaire avec DAO
- Retraiter certaines données dans le clone (par exemple, changer le format de la date pour un meilleur filtrage)
- Ajouter une colonne (champ boolean) dans le clone nommé "FiltrePeriode"
- Exécuter des "if then else" etc pour chaque enregistrement qui mettrait la colonne "FiltrePeriode" à OUI.
- Filtrer ce clone en fonction de tous les enregistrements à OUI
- Faire en sorte que mon formulaire n'affiche que les enregistrements filtrés dans le Clone.
J'ai commencé à faire cela :
Mais dans un premier temps, je ne sais pas comment ajouter la colonne "FiltrePeriode" pour la mettre à OUI quand nécessaire. Savez vous comment faire SVP ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Dim oRst As DAO.Recordset Dim oDb As DAO.Database Set oDb = CurrentDb Set oRst = oDb.OpenRecordset(Forms(FormulaireNomSTR).Form.RecordSource, dbOpenDynaset) 'Parcours les enregistrements While Not oRst.EOF ' If IsDate(oRst.Fields(ChampFinNomSTR).Value) Then EnregDebSTR = """" & Format(oRst.Fields(ChampDebNomSTR).Value, "yyyy/mm/dd") & """" Else EnregDebSTR = "" If IsDate(oRst.Fields(ChampFinNomSTR).Value) Then EnregFinSTR = """" & Format(oRst.Fields(ChampFinNomSTR).Value, "yyyy/mm/dd") & """" Else EnregFinSTR = "" 'Passe au suivant oRst.MoveNext Wend 'Libération des objets oRst.Close oDb.Close Set oRst = Nothing Set oDb = Nothing
Ensuite, comment faire pour que mon formulaire n'affiche que les enregistrements présent dans le clone filtré ?
Partager