Récupérer un recordset d'un formulaire filtré

Le
Pogo
Access 2003 / windows XP


bonjour,

Set X=me.recordset, permet de récupérer le recordset d'un formulaire.
si le formulaire est filtré, me.recordset ne prend pas en compte le
resultat du filtre et renvoie l'intégralité des enregistrement.
Comment récupérer le recordset qui correspond aux données filtrées
dans un formulaire

D'avance merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Argyronet
Le #19260241
Bonjour,

Vous pouvez appeler la propriété Filter :
Ex : MsgBox Me.Filter

Et si votre filtre est une requête constante au niveau de son nom mais
varia,te au niveau de sa propriété sql (Si peu que vous la fassiez évoluer
via un QueryDef) vous pouvez utiliser une fonction générique :

Private Function GetCurrentFilter(ByVal QueryName As String)
Dim oFilterQuery As QueryDef
On Error Resume Next
Set oFilterQuery = CurrentDb.QueryDefs(QueryName)
GetCurrentFilter = oFilterQuery.SQL
Set oFilterQuery = Nothing
End Function

--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)



"Pogo" a écrit :

Access 2003 / windows XP


bonjour,

Set X=me.recordset, permet de récupérer le recordset d'un formulaire.
si le formulaire est filtré, me.recordset ne prend pas en compte le
resultat du filtre et renvoie l'intégralité des enregistrement.
Comment récupérer le recordset qui correspond aux données filtrées
dans un formulaire

D'avance merci




Pogo
Le #19268841
bonjour,

Merci pour votre réponse.
J'ai bricolé une fonction similaire. ma fonction est un peu
compliquée car je filtre avec des listes déroulantes contenant des
clés masquées, ce qui génerent des filtres "lookup_fields" que n'ont
de sens que dans le formulaire. En postant mon courrier, j'espérais
qu'il y avait une méthode ou propriété qui m'aurait échappée et q ui
aurait pu m'éviter ma fonction "bricolage"

cordialement

Argyronet a écrit :
Bonjour,

Vous pouvez appeler la propriété Filter :
Ex : MsgBox Me.Filter

Et si votre filtre est une requête constante au niveau de son nom mais
varia,te au niveau de sa propriété sql (Si peu que vous la fassiez évoluer
via un QueryDef) vous pouvez utiliser une fonction générique :

Private Function GetCurrentFilter(ByVal QueryName As String)
Dim oFilterQuery As QueryDef
On Error Resume Next
Set oFilterQuery = CurrentDb.QueryDefs(QueryName)
GetCurrentFilter = oFilterQuery.SQL
Set oFilterQuery = Nothing
End Function

--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)



"Pogo" a écrit :

> Access 2003 / windows XP
>
>
> bonjour,
>
> Set X=me.recordset, permet de récupérer le recordset d'un formula ire.
> si le formulaire est filtré, me.recordset ne prend pas en compte le
> resultat du filtre et renvoie l'intégralité des enregistrement.
> Comment récupérer le recordset qui correspond aux données filtr ées
> dans un formulaire
>
> D'avance merci
>
>


Publicité
Poster une réponse
Anonyme