Bonjour...
Voici mon problème:
J'ai créé une procédure que j'aimerai utiliser plusieurs fois dans mes différents formulaires.
La procédure reçoit en paramètres le nom de la table, le nom du formulaire, et du sous formulaire(non lié au formulaire) afin d'exécuter une recherche.J'ai mis ma procédure dans un module et j'ai des erreurs de compilation(Erreur de compilation:Erreur de Syntaxe) lors de l'appel de cette procédure dans le formulaire.
Voici le code dans mon module:
Merci d'avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 Public Sub P_RefreshQuery(NomTable As String, NomForm As String, NomSousForm As String) Dim SQL As String Dim SQLWhere As String Dim strSQL As String Dim premier As Boolean premier = True SQL = "SELECT * FROM " & NomTable & "" If Forms! & NomForm & .Form.chkDefectueux Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 2" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 2" End If End If If Forms! & NomForm & .Form.chkStock Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 3" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 3" End If End If If Forms! & NomForm & .Form.chkTransfert Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 4" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 4" End If End If If Forms! & NomForm & .Form.chkVente Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 5" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 5" End If End If If Forms! & NomForm & .Form.chkVol Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 6" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 6" End If End If If Forms! & NomForm & .Form.chkOut Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 7" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 7" End If End If If Forms! & NomForm & .Form.chkLocation Then If premier Then SQL = SQL & " WHERE " & NomTable & "!STATUT = 8" premier = False Else SQL = SQL & " or " & NomTable & "!STATUT = 8" End If End If SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1)) 'SQL = SQL & ";" 'on indique la source des enregistrements à afficher dans le sous-form. SF_PC 'En même temps cela permet de mettre un filtre sur le sous-form. affiché !!! Forms!NomSousForm.Form.RecordSource = SQL Forms!NomSousForm.Form.Requery End Sub
Partager