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:

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
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?

Merci de votre aide