Set X=3Dme.recordset, permet de r=E9cup=E9rer le recordset d'un formulaire.
si le formulaire est filtr=E9, me.recordset ne prend pas en compte le
resultat du filtre et renvoie l'int=E9gralit=E9 des enregistrement.
Comment r=E9cup=E9rer le recordset qui correspond aux donn=E9es filtr=E9es
dans un formulaire
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Argyronet
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
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
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
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 > >
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
>
>
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 > >