Bonjour,
Mon problème et comment faire appel d'une procédure d'un module standard sur btn clic?
En faite j'ai cherché dans FAQ ,mais je n'ai pas compris.
merci pour votre aide.
Version imprimable
Bonjour,
Mon problème et comment faire appel d'une procédure d'un module standard sur btn clic?
En faite j'ai cherché dans FAQ ,mais je n'ai pas compris.
merci pour votre aide.
Si vous avez créé des sub() ou function() dans un module standard pour les appeler via un btn de commande d'un form
Code:
1
2
3 Private Sub Commande4_Click() Call nomdelafunction ou nomdelasub End Sub
Apres avoir effacer les "ME." de ma procedure filtre le code bug sur filter=f que doit je faire?
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Public Sub filtre() 'filtre remis a zero f = "" 'produit.................................................................................................................. If Not IsNull(RCHPRODUIT) And RCHPRODUIT <> "" Then If f <> "" Then f = f & " AND produitnaf = """ & RCHPRODUIT & """" Else f = "produitnaf = """ & RCHPRODUIT & """" End If End If 'Mouvement.................................................................................................................. If Not IsNull(rchmouvement) And rchmouvement <> "" Then If f <> "" Then f = f & " AND mouvement = """ & rchmouvement & """" Else f = "mouvement = """ & rchmouvement & """" End If End If Filter = f FilterOn = True End Sub
Et dois-je peut-être vous rappeler que vous travaillez dans un formulaire de navigation. Que dans le sform de navigation vous avez insérez un sform. :weird:
Non il n'ya que 1 tbl,1 form et 1 module de filtre dans ma bdd exemple.
bonjour,
suite à cette discussion voici, en prime, le code qu'il faut mettre pour que cela fonctionne avec une sub dans un module standard :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Option Compare Database Sub filtre(frm As Form) 'formulaire Transfert Dim f As String 'filtre remis a zero f = "" 'produit.................................................................................................................. If frm.Controls("RCHPRODUIT") & "" <> "" Then If f <> "" Then f = f & " AND produitnaf = """ & frm.Controls("RCHPRODUIT") & """" Else f = "produitnaf = """ & frm.Controls("RCHPRODUIT") & """" End If End If 'Mouvement................................................................................................................ If frm.Controls("rchmouvement") & "" <> "" Then If f <> "" Then f = f & " AND mouvement = """ & frm.Controls("rchmouvement") & """" Else f = "mouvement = """ & frm.Controls("rchmouvement") & """" End If End If frm.Filter = f frm.FilterOn = True End Sub
Code:
1
2
3
4
5
6
7 Private Sub rchmouvement_Click() Call filtre(Me) End Sub Private Sub RCHPRODUIT_Click() Call filtre(Me) End Sub
Ouf ,vous me sauver ,mais un jour j'ouvrirai une discussion pour comprendre les filtres. Encore merci.
la seule chose à savoir lorsqu'on passe par un module standard, donc externe au formulaire, c'est qu'il faut préciser sur quel formulaire on va travailler, c'est pour cela qu'on le passe en paramètre:
Me représente le formulaire en cours:Code:Call filtre(Me)
Code:Sub filtre(frm As Form)
Bonjour,
Le code fonctionne ,mais quelque fois erreur . j'ai essayé de mettre gestionnaire d'erreur mais rien.
"L'expression Sur changement entrée comme paramètre de la propriété du type événement est à l'origine d'une erreur. ruturn sans gosub.
bonjour,
on ne peut pas faire grand chose si l'erreur est aléatoire ...Citation:
Le code fonctionne ,mais quelque fois erreur .
à tout hasard, ajoute cette ligne à la fin du Sub filtre:
Code:Set frm = Nothing