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 :

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
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 ?

Ensuite, comment faire pour que mon formulaire n'affiche que les enregistrements présent dans le clone filtré ?