OVH Cloud OVH Cloud

Filtre impossible dans une transaction

2 réponses
Avatar
Bruno MAZÉPA
Bonjour à tous,

Dans une transaction "Begintrans", je peux pas appliquer un filtre sur mon
sous-formulaire.

Lorsque je veux le faire, j'ai systématiquement le msg d'erreur :
"Cette opération n'est pas prise en charge dans les transactions"

Il s'agit de la ligne :
Me.[SFrm SaisieDepMod].Form.FilterOn = True

Comment puis-je contourner le problème ?
Car j'ai absolument besoin de filtrer mes enregistrements.

Merci.

2 réponses

Avatar
Xavier HUE
Bonjour Bruno,

Tu peux construire la clause WHERE et la remplacer dans la
source de ton formulaire.

Par exemple, à l'ouverture, la source de ton form
est "SELECT * From TaTable WHERE ..."

Lorsque tu souhaites apliquer un filtre, tu fais quelque
chose comme:
Dim TaClauseWhere As String
...
Construire Ta Clause Where en fonction des différents
critères
TaClauseWhere = "WHERE " & ...
...

Me.[SFrm SaisieDepMod].RecordSource = Left$(Me.[SFrm
SaisieDepMod].RecordSource, Instr(1, Me.[SFrm
SaisieDepMod].RecordSource, "WHERE") -1) & TaClauseWhere
Me.Requery

Cordialement.
Avatar
Bruno MAZÉPA
Salut Xavier,
Le problème c'est que mon sous-formulaire est basé sur une requête
Donc mon RecordSource est : "Rqt SaisieDepMod"
--
Cordialement.

"Xavier HUE" a écrit dans le message de
news:0bd101c3b32c$662e2920$
Bonjour Bruno,

Tu peux construire la clause WHERE et la remplacer dans la
source de ton formulaire.

Par exemple, à l'ouverture, la source de ton form
est "SELECT * From TaTable WHERE ..."

Lorsque tu souhaites apliquer un filtre, tu fais quelque
chose comme:
Dim TaClauseWhere As String
...
Construire Ta Clause Where en fonction des différents
critères
TaClauseWhere = "WHERE " & ...
...

Me.[SFrm SaisieDepMod].RecordSource = Left$(Me.[SFrm
SaisieDepMod].RecordSource, Instr(1, Me.[SFrm
SaisieDepMod].RecordSource, "WHERE") -1) & TaClauseWhere
Me.Requery

Cordialement.