Bonjour à tous,
je cherche comment faire pour afficher le nombre d'enregistrements qui sont trouvé après avoir filtré la totalité de ces enregistrement,
voici le code que j'utilise dans mon formulaire afin de filtrer les enregistrements selon un ou plusieurs critères:
Je ne sais pas si je peux utiliser la fonction count pour calculer le Nbr d'enregistrements, mettre le résultat dans une variable, et l'afficer dans mon formulaire.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197 Private Sub FiltreGeneral() 'On initialise des variables utilisées dans la fonction FiltreGeneral filtre = "" FiltreDateInscriptionDebut = "" FiltreDateInscriptionFin = "" FiltreDateNaissanceDebut = "" FiltreDateNaissanceFin = "" FiltreDateDebutPart = "" FiltreDateFinPart = "" 'On contrôle qu'il y aie des critères dans le champ pour en tenir compte dans la fonction de filtre...Ici, pour le champ de filtre sur le n° débiteur If EDIRechercheNumDebiteur.Value <> "" Then filtre = "OPF_R_Secteur.Debiteur_C_NumdebGIOP like '*" & EDIRechercheNumDebiteur & "*'" End If 'Ensuite, on fait le même contrôle sur le champ de filtre Nom et Prénom... If EDIFiltreNomEtPrenom.Value <> "" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.NomEtPrenom like '*" & EDIFiltreNomEtPrenom & "*'" Else filtre = filtre & " AND OPF_R_Secteur.NomEtPrenom like '*" & EDIFiltreNomEtPrenom & "*'" End If End If 'Ensuite, etc... If LIDSocieteNom.Value <> "*" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.SOCIETE like '" & LIDSocieteNom & "'" Else filtre = filtre & " AND OPF_R_Secteur.SOCIETE like '" & LIDSocieteNom & "'" End If End If If LIDRechercheInitiales.Value <> "*" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_Initiales like '" & LIDRechercheInitiales & "'" Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_Initiales like '" & LIDRechercheInitiales & "'" End If End If If LIDActif.Value <> "*" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.TXTActif like '" & LIDActif & "'" Else filtre = filtre & " AND OPF_R_Secteur.TXTActif like '" & LIDActif & "'" End If End If If EDIFiltreEtatDossier.Value <> "" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_EtatDossier like '*" & EDIFiltreEtatDossier & "*'" Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_EtatDossier like '*" & EDIFiltreEtatDossier & "*'" End If End If If EDIFiltreRemarques.Value <> "" Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_Remarque like '*" & EDIFiltreRemarques & "*'" Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_Remarque like '*" & EDIFiltreRemarques & "*'" End If End If 'Filtre de recherche sur la date de dernière inscription dans la fiche du débiteur... If EDIRechDebDateDerniereInscription.Value <> "01.01.1900" Then FiltreDateInscriptionDebut = "#" & Month(EDIRechDebDateDerniereInscription) & "/" & Day(EDIRechDebDateDerniereInscription) & "/" & Year(EDIRechDebDateDerniereInscription) & "#" Else FiltreDateInscriptionDebut = "" End If If EDIRechFinDatePremiereInscription.Value <> "31.12.2999" Then FiltreDateInscriptionFin = "#" & Month(EDIRechFinDatePremiereInscription) & "/" & Day(EDIRechFinDatePremiereInscription) & "/" & Year(EDIRechFinDatePremiereInscription) & "#" Else FiltreDateInscriptionFin = "" End If TestDate = DateDiff("d", EDIRechDebDateDerniereInscription, EDIRechFinDatePremiereInscription) If TestDate < 0 Then MsgBox "La date de début de recherche ne peut pas être plus grande que la date de fin de recherche... modifiez vos critères de recherche Date..." Exit Sub Else If Len(FiltreDateInscriptionDebut) > 1 And Len(FiltreDateInscriptionFin) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_D_DateInscription Between " & FiltreDateInscriptionDebut & " And " & FiltreDateInscriptionFin Else filtre = filtre & " AND OPF_R_Secteur.Archivage_D_DateInscription Between " & FiltreDateInscriptionDebut & " And " & FiltreDateInscriptionFin End If ElseIf Len(FiltreDateInscriptionDebut) > 1 And Len(FiltreDateInscriptionFin) <= 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_D_DateInscription >= " & FiltreDateInscriptionDebut Else filtre = filtre & " AND OPF_R_Secteur.Archivage_D_DateInscription >= " & FiltreDateInscriptionDebut End If ElseIf Len(FiltreDateInscriptionDebut) <= 1 And Len(FiltreDateInscriptionFin) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_D_DateInscription <= " & FiltreDateInscriptionFin Else filtre = filtre & " AND OPF_R_Secteur.Archivage_D_DateInscription <= " & FiltreDateInscriptionFin End If End If End If 'Filtre de recherche sur la date de naissance... If EDIRechDebDateNaissance.Value <> "01.01.1900" Then FiltreDateNaissanceDebut = "#" & Month(EDIRechDebDateNaissance) & "/" & Day(EDIRechDebDateNaissance) & "/" & Year(EDIRechDebDateNaissance) & "#" Else FiltreDateNaissanceDebut = "" End If If EDIRechFinDateNaissance.Value <> "31.12.2999" Then FiltreDateNaissanceFin = "#" & Month(EDIRechFinDateNaissance) & "/" & Day(EDIRechFinDateNaissance) & "/" & Year(EDIRechFinDateNaissance) & "#" Else FiltreDateNaissanceFin = "" End If TestDateNaiss = DateDiff("d", EDIRechDebDateNaissance, EDIRechFinDateNaissance) If TestDateNaiss < 0 Then MsgBox "La date de début de recherche ne peut pas être plus grande que la date de fin de recherche... modifiez vos critères de recherche Date..." Exit Sub Else If Len(FiltreDateNaissanceDebut) > 1 And Len(FiltreDateNaissanceFin) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Debiteur_D_DateNaissance Between " & FiltreDateNaissanceDebut & " And " & FiltreDateNaissanceFin Else filtre = filtre & " AND OPF_R_Secteur.Debiteur_D_DateNaissance Between " & FiltreDateNaissanceDebut & " And " & FiltreDateNaissanceFin End If ElseIf Len(FiltreDateNaissanceDebut) > 1 And Len(FiltreDateNaissanceFin) <= 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Debiteur_D_DateNaissance >= " & FiltreDateNaissanceDebut Else filtre = filtre & " AND OPF_R_Secteur.Debiteur_D_DateNaissance >= " & FiltreDateNaissanceDebut End If ElseIf Len(FiltreDateNaissanceDebut) <= 1 And Len(FiltreDateNaissanceFin) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Debiteur_D_DateNaissance <= " & FiltreDateNaissanceFin Else filtre = filtre & " AND OPF_R_Secteur.Debiteur_D_DateNaissance <= " & FiltreDateNaissanceFin End If End If End If 'Filtre sur la date de participation... If EDIRechercheDebutDatePart.Value <> "01.01.1900" Then FiltreDateDebutPart = "#" & Month(EDIRechercheDebutDatePart) & "/" & Day(EDIRechercheDebutDatePart) & "/" & Year(EDIRechercheDebutDatePart) & "#" Else FiltreDateDebutPart = "" End If If EDIRechercheFinDatePart.Value <> "31.12.2999" Then FiltreDateFinPart = "#" & Month(EDIRechercheFinDatePart) & "/" & Day(EDIRechercheFinDatePart) & "/" & Year(EDIRechercheFinDatePart) & "#" Else FiltreDateFinPart = "" End If TestDatePart = DateDiff("d", EDIRechercheDebutDatePart, EDIRechercheFinDatePart) If TestDatePart < 0 Then MsgBox "La date de début de recherche ne peut pas être plus grande que la date de fin de recherche... modifiez vos critères de recherche Date..." Exit Sub Else If Len(FiltreDateDebutPart) > 1 And Len(FiltreDateFinPart) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_DelaisParticip Between " & FiltreDateDebutPart & " And " & FiltreDateFinPart Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_DelaisParticip Between " & FiltreDateDebutPart & " And " & FiltreDateFinPart End If ElseIf Len(FiltreDateDebutPart) > 1 And Len(FiltreDateFinPart) <= 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_DelaisParticip >= " & FiltreDateDebutPart Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_DelaisParticip >= " & FiltreDateDebutPart End If ElseIf Len(FiltreDateDebutPart) <= 1 And Len(FiltreDateFinPart) > 1 Then If Len(filtre) = 0 Then filtre = "OPF_R_Secteur.Archivage_C_DelaisParticip <= " & FiltreDateFinPart Else filtre = filtre & " AND OPF_R_Secteur.Archivage_C_DelaisParticip <= " & FiltreDateFinPart End If End If End If 'enfin, on lance la fonction filtre sur le formulaire... If filtre = "" Then CMDToutVoir_Click Exit Sub Else ArchivageFiltre = filtre Me.Filter = filtre Me.FilterOn = True End If End Sub
Merci d'avance pour votre aide.
Sylvain
Partager