Bonjour tout le monde,
Pour mon formulaire de recherche, j utilise un fonction provenant d un tuto du site, la fonction restriction.
Je voudrais pouvoir fairer une recherche sur un mot ou une partie, cad si jetape le mot ds mon formulaire, le resultat sera ts les enregistrements où ce mot ou la partie du mot apparait.
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 Public Sub Restriction(ByVal Chaine As String, _ ByVal ChamP As String, ByVal matable As String, _ ByRef ArGument As Integer, ByRef ClausE As String, ByRef astype As Integer) ' Typ Auswahl : 0 für ein string, 1 für einen Zahl ou boolean ' 2 für ein Datum 'gründet die Abfrage If ArGument = 0 Then 'löscht die Leerstelle matable = Trim$(matable) 'Wenn die Tabelle eine unterabfrage ist :(Beginn mit select) If InStr(1, matable, "SELECT ", vbTextCompare) <> 0 Then 'löscht den ; wenn es gibt If Right(matable, 1) = ";" Then _ matable = Left(matable, Len(matable) - 1) ' () um die Abfrage ClausE = "SELECT * FROM (" & matable & ")" Else ClausE = "SELECT * FROM " & matable End If End If If Chaine <> "" Then If ArGument = 0 Then ' fügt das WHERE hinzu ClausE = ClausE & " WHERE " ' fügt den Operator "AND" hinzu wenn WHERE schon existiert Else: ClausE = ClausE & " AND " End If Select Case astype Case 0 'fügt den Kriterium wenn den Typ Text ist ClausE = ClausE & ChamP & " = " & Chr(34) & Chaine & "" & Chr(34) Case 1 'fügt den Kriterium wenn den Typ Zahl ist ClausE = ClausE & ChamP & ">=" & Chaine Case 7 'fügt den Kriterium wenn den Typ Zahl ist ClausE = ClausE & ChamP & "<=" & Chaine Case 2 'fügt den Kriterium wenn den Typ Datum ist ClausE = ClausE & ChamP & "=" & DateUS(Chaine) & "" End Select ArGument = ArGument + 1 End If End Sub
Je sais que like ou = ne sont pas adequat. Il dopit falloir rajouter des *, mais où? Je voudrais rajouter ca ds la ligne en rouge.
QQun aurait une idée?
Partager