Bonjour à tous
Voici mon code
J'ai un formulaire ui me permet de filter une liste de matériel suivant différents critères. Pour ce faire j'ai créé une fonction ( voir ci-dessus) qui me permet de filtrer ma liste suivant le nom sélectionné dans ma combobox. Les valeurs des ID sont stockés dans la variable strFilter. Au sortir de mes deux premieres boucles le contenu de strFilter est le suivant
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 Sub SetFormFilter() Dim strFilter As String strFilter = "" If Me.TabCtl136 = 2 Then If Not IsNull(Me.cmbFilterPipingClass) And Me.cmbFilterPipingClass <> "" Then If strFilter = "" Then strFilter = " PipingClassID = " & Me.cmbFilterPipingClass Else strFilter = strFilter & " AND PipingClassID = " & Me.cmbFilterPipingClass End If End If End If If Not IsNull(Me.cmbFilterDiscipline) And Me.cmbFilterDiscipline <> "" Then If strFilter = "" Then strFilter = " BOFDisciplineID = " & Me.cmbFilterDiscipline Else strFilter = strFilter & " AND BOFDisciplineID = " & Me.cmbFilterDiscipline End If End If Me.Filter = strFilter Me.FilterOn = True If strFilter = "" Then Forms!frmCreateMaterial!sfrmMaterialLibrairy.Form!lstMaterialLibrairy.RowSource = "SELECT QryMaterialLibraryDropdown.MaterialSegmentID, QryMaterialLibraryDropdown.SegmentDesc" _ & " FROM QryMaterialLibraryDropdown " _ & " ORDER BY QryMaterialLibraryDropdown.SegmentDesc" Else Forms!frmCreateMaterial!sfrmMaterialLibrairy.Form!lstMaterialLibrairy.RowSource = "SELECT QryMaterialLibraryDropdown.MaterialSegmentID, QryMaterialLibraryDropdown.SegmentDesc" _ & " FROM QryMaterialLibraryDropdown WHERE " & strFilter _ & " ORDER BY QryMaterialLibraryDropdown.SegmentDesc" End If End sub
strFilter = " PipingClassID = 1 AND BOFDisciplineID = 1"
cependant au moment d'activer le filtre sur le formulaire il me demande la valeur de PipingClassID qui pourtant est déjà dans strFilter.
Je lui rentre donc de nouveau ma valeur et au moment de l'actualisation de la rowsource dans ma requete (WHERE " & strFilter ) il me demande de nouveau la valeur de PipingClassID alors que je lui est rentré précédemment quand il me l'a demandé.
J'ai l'impression qu'il ne retient pas PipingClassID et je ne comprends pas pourquoi. J'ai vérifié la syntaxe dans mes tables et je n'ai pas d'erreurs à ce niveau là. Je me tourne donc vers vous pour savoir si j'ai une erreur dnas mon code qui fait qu'il ne retient pas cette valeur.
MErci beaucoup j'espre avoir été assez clair dans l'explication de mon probleme
Partager