Bonjour,
Dans un formulaire, j'en appelle un 2e avec DoCmd.OpenForm "Transaction", WhereCondition:="([No]=" & txt_no & ")"
Je ne sais pas comment enlever le filtre du formulaire transaction
Merci!
Version imprimable
Bonjour,
Dans un formulaire, j'en appelle un 2e avec DoCmd.OpenForm "Transaction", WhereCondition:="([No]=" & txt_no & ")"
Je ne sais pas comment enlever le filtre du formulaire transaction
Merci!
Bonjour.
Je ne suis pas certain de ce que tu veux faire mais à priori la réponse est :
A+Code:DoCmd.OpenForm "Transaction"
Je ne peux pas faire cela.
J'ouvre le formulaire sur un no précis et cela fait en sorte que la source est filtrée et je veux annuler ce filtre.
Désolé je ne saisi pas du tout ce que tu veux faire.
Est-ce :
- Ouvrir le formulaire [Transaction] pour qu'il affiche une transaction en particulier
- Une fois que l'utilisateur a regardé cette transaction, supprimer le filtre pour que le formulaire affiche toutes les transactions disponibles.
Si ce n'est pas cela, met un exemple d'utilisation en expliquant en quelques mots ce que tu as comme actions de l'utilisateur et ce que tu attends du système.
A+
Bon j'ai trouvé :
[Forms]![Transaction].Filter = ""
[Forms]![Transaction].FilterOn = False
Le hic, le formulaire revient au premier enregistrement au lieu de rester sur celui trouvé.
Bonsoir,
sauvegarde le No avant la suppression du filtre pour te repositionner dessus après :Code:
1
2
3
4
5 Dim lgNbr As Long lgNbr = [Forms]![Transaction].No [Forms]![Transaction].FilterOn = False [Forms]![Transaction].Filter = "" [Forms]![Transaction].Recordset.FindFirst ("No=" & lgNbr)
Ça ne fonctionne pas puisque je demeure sur le premier formulaire.
Bonjour,
Où se trouve le code que tu as donné et que j'ai complété : dans le formulaire appelé ou appelant ?Car, à un moment donné, le formulaire appelé sera actif puisque tu l'ouvres avec Docmd.OpenForm c'est à ce moment, je pense qu'il faudra enlever le filtre (à l'aide d'un bouton par exemple) puis te positionner sur l'enregistrement mais pour le moment on ne peut pas faire plus pour t'aider avec seulement ceci comme explications :Code:
1
2 Forms]![Transaction].Filter = "" [Forms]![Transaction].FilterOn = False
ouCitation:
Dans un formulaire, j'en appelle un 2e avec DoCmd.OpenForm "Transaction", WhereCondition:="([No]=" & txt_no & ")"
Je ne sais pas comment enlever le filtre du formulaire transaction
Citation:
Ça ne fonctionne pas puisque je demeure sur le premier formulaire.
Ce code est dans le formulaire Validation qui appelle le 2e (Transaction).
1er formulaire : validation
2e formulaire : Transaction
Merci!
étant donné que tu persistes à donner les informations en mode restreint, je ne vois pas ce que je peux faire de plus.Citation:
Ce code est dans le formulaire Validation qui appelle le 2e (Transaction).
1er formulaire : validation
2e formulaire : Transaction
Merci!
Bonjour.
Pourrais-tu poster une copie d'écran présentant tes formulaires au moment où tu veux faire la suppression du filtre.
Et en précisant le formulaire "actif" (celui qui a le focus au moment de la demande de suppression de filtre).
A+
Voici le formulaire qui appelle le formulaire transaction quand je clique sur le no et le code :
Pièce jointe 252464Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Private Sub txt_no_Click() Dim lgNbr As Long DoCmd.OpenForm "Transaction", WhereCondition:="([No]=" & txt_no & ")" '[Forms]![Transaction]![No_trans].SetFocus '[Forms]![Transaction].Filter = "" '[Forms]![Transaction].FilterOn = False lgNbr = [Forms]![Transaction].No [Forms]![Transaction].FilterOn = False [Forms]![Transaction].Filter = "" [Forms]![Transaction].Recordset.FindFirst ("No_trans=" & lgNbr) 'DoCmd.OpenForm "Transaction" End Sub
Merci pour les informations fournies, merci aussi à toi marot_r.
fourniey, est-ce que tu ne préfèrerais pas te positionner sur l'enregistrement sélectionné sans filtrer à l'ouverture du formulaire Transaction ?
L'objectif est de consulter le contenu de la transaction sélectionnée donc pas besoin de filtre dans le formulaire Transaction.
Tu avais posé la mauvaise question depuis le début. Ce n'est pas grave.Citation:
Je ne sais pas comment enlever le filtre du formulaire transaction
Mets ce code dans le formulaire Transaction :
et celui-ci dans Validation :Code:
1
2
3
4 Private Sub Form_Open(Cancel As Integer) If Me.OpenArgs <> "" Then Me.Recordset.FindFirst "No_trans=" & Val(Me.OpenArgs) End Sub
Code:
1
2DoCmd.OpenForm "Transaction" , acNormal, , , , acWindowNormal, txt_no
Vraiment gentil de m'aider...
J'ai effectué les deux corrections et le formulaire transaction se positionne sur la transaction 1 au lieu d'afficher le numéro sélectionné.
Bizarre ...
Ajoute l'instruction Msgbox au début du code Open du formulaire Transaction pour vérifier que la valeur txt_no est bien transmise :
Code:
1
2
3
4 Private Sub Form_Open(Cancel As Integer) Msgbox Me.OpenArgs If Me.OpenArgs <> "" Then Me.Recordset.FindFirst "No_trans=" & Val(Me.OpenArgs) End Sub
Citation:
DoCmd.OpenForm "Transaction", WhereCondition:="([No]=" & txt_no & ")"
le champ dans Transaction s'appelle No ou No_trans ?Citation:
[Forms]![Transaction].Recordset.FindFirst ("No_trans=" & lgNbr)