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

Récupérer le nombre d'enregistrements filtrés dans un formulaire

2 réponses
Avatar
Tonio
Bonjour,

Lorsque j'applique un filtre dans un formulaire en mode "Feuille de
données", j'aimerai récupérer, en VBA, le nombre d'enregistrements filtrés
afin de l'insérer dans un zone de texte ou une étiquette.

Est-ce possible sans rejouer la requête (c'est-à-dire sans ouvrir un
Recordset avec le filtre, parcourir tous les enregistrements, puis récupérer
la propriété Recordset, ce qui est un peu lourd niveau code) ?

Merci d'avance

2 réponses

Avatar
Eric
Bonjour,

A l'aide de la propriété RecordCount.

Par exemple comme ceci, le filtre étant juste pour l'exemple:
A partir d'un formulaire appelant celui à filtrer via la clause Where:
Private Sub Commande0_Click()
DoCmd.OpenForm "FormulaireFiltré", acFormDS, , "Question like '[A-C]*'"
MsgBox Forms("FormulaireFiltré").Recordset.RecordCount
End Sub

ou sur ouverture du dit formulaire qui est filtré:
Private Sub Form_Open(Cancel As Integer)
Me.Filter = "Question like '[A-C]*'"
Me.FilterOn = True
MsgBox Me.Recordset.RecordCount
End Sub

Bonjour,

Lorsque j'applique un filtre dans un formulaire en mode "Feuille de
données", j'aimerai récupérer, en VBA, le nombre d'enregistrements filtrés
afin de l'insérer dans un zone de texte ou une étiquette.

Est-ce possible sans rejouer la requête (c'est-à-dire sans ouvrir un
Recordset avec le filtre, parcourir tous les enregistrements, puis récupérer
la propriété Recordset, ce qui est un peu lourd niveau code) ?

Merci d'avance


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Tonio
Merci (et désolé pour le retard) !

Mais le problème est en fait un peu plus complexe...

Il faudrait que, lorsque l'on fait Bouton droit > Filtrer par sélection, le
nombre d'enregistrements affiché soit modifié en conséquence. Il y a bien une
propriété Form_ApplyFilter, mais je ne peux pas récupérer la propriété
RecordCount, car celle-ci fait référence au Recordset avant application du
filtre !

L'autre difficulté est que, quand on supprime le filtre (Bouton droit >
Afficher tous les enregistrements), je ne trouve pas d'événement associé.
Impossible de mettre à jour le nombre d'enregistrements dans ce cas...