Bonjour,
J'ai une zone de recherche dans un formulaire qui me permet d'afficher les résultats selon ce que contient la table (Avec un like). Par contre, j'ai également dans cette même recherche un filtre secondaire qui me donne des résultats supplémentaires en fonction d'une recherche dans une table, j'ai donc créé un filtre qui se génère selon la requête du moment:
L'erreur provient du fait que je peux avoir deux résultats identiques à l'intérieur du filtre, existe-t'il un fonction qui me permet de vérifier qu'une valeur string est à l'intérieur de ma variable filtre pour éviter tout doublon?
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 ' Montage du filtre selon nombre de résultat Select Case Nbrresultat Case Is = 1 Appel = DLookup("[NoAppelService]", "TâchesAppelDeService", "[tâches] like '*" & PreparerChaine(txt_Rechercher) & "*'") Filtre = " or [NoAppel]='" & PreparerChaine(Appel) & "'" Case Is > 1 i = 1 Do While i <= Nbrresultat If i = 1 Then Appel = DLookup("[NoAppelService]", "TâchesAppelDeService", "[tâches] like '*" & PreparerChaine(txt_Rechercher) & "*'") Filtre = "[NoAppel]='" & PreparerChaine(Appel) & "'" Restriction = "[NoAppelService]<>'" & PreparerChaine(Appel) & "'" End If If i > 1 Then Appel = DLookup("[NoAppelService]", "TâchesAppelDeService", "[tâches] like '*" & PreparerChaine(txt_Rechercher) & "*' and " & Restriction & "") Filtre = Filtre & " or [NoAppel]='" & PreparerChaine(Appel) & "'" Restriction = Restriction & " and [NoAppelService]<>'" & PreparerChaine(Appel) & "'" End If i = i + 1 Loop Case Else Filtre = "" End Select If txt_Rechercher <> "" Then Me.Filter = "[NoAppel] like '*" & PreparerChaine(txt_Rechercher) & "*' or [Priorité] like '*" & PreparerChaine(txt_Rechercher) & "*' or [Responsable] like '*" & PreparerChaine(txt_Rechercher) & "*' or [datecréation] like '*" & PreparerChaine(txt_Rechercher) & "*' or [Référence] like '*" & PreparerChaine(txt_Rechercher) & "*' or [NomProjet] like '*" & PreparerChaine(txt_Rechercher) & "*' or " & Filtre & "" Me.FilterOn = True Else Me.FilterOn = False End If
Merci de votre aide
Partager