News

FAQ Access – Volltext Suche a la Google

Category:

Access, FAQ

0

Access VBA – Volltext Suche a la Google

Problem

Sie wollen wie bei Google nach verschiedenen Suchbegriffe suchen ? Das bedeutet Sie geben – Klaus Hannover Müller – ein und wollen nur die Personen sehen, die alle drei Kriterien erfüllen ?

Lösung

Nutzen Sie folgenden Code und nutzen Sie die Funktion in jeder OpenForm Anweisung:

Public Function Suchterm(vSuchbegriff) As String
 Dim vLänge As Long, vLetztesLeerzeichen As Long, vLeerzeichenstelle As Long
 Dim vAnzeige As String
 vLänge = Len(vSuchbegriff)
 vLetztesLeerzeichen = InStr(1, vSuchbegriff, " ")
 vLeerzeichenstelle = InStr(vLetztesLeerzeichen + 1, vSuchbegriff, " ")
 'Suchbegriff hat nur einen Begriff
 If vLetztesLeerzeichen = 0 Then
 vAnzeige = "[Suchbegriff] like '*" & vSuchbegriff & "*'"
 GoTo Weiter
 End If
 'Suchbegriff hat nur zwei Begriffe
 If vLeerzeichenstelle = 0 Then
 vAnzeige = "[Suchbegriff] like '*" & Mid(vSuchbegriff, 1, vLetztesLeerzeichen - 1) & "*' AND [Suchbegriff] like '*" & Mid(vSuchbegriff, vLetztesLeerzeichen + 1) & "*'"
 GoTo Weiter
 End If
 'Suchbegriff hat viele Begriffe
 vAnzeige = "[Suchbegriff] like '*" & Mid(vSuchbegriff, 1, vLetztesLeerzeichen - 1) & "*'"
 Do While vLetztesLeerzeichen < vLänge
 vLeerzeichenstelle = InStr(vLetztesLeerzeichen + 1, vSuchbegriff, " ")
 'Ende erreicht
 If vLeerzeichenstelle = 0 Then
 vAnzeige = vAnzeige & " AND [Suchbegriff] like '*" & Mid(vSuchbegriff, vLetztesLeerzeichen + 1) & "*'"
 GoTo Weiter
 Else
 vAnzeige = vAnzeige & " AND [Suchbegriff] like '*" & Mid(vSuchbegriff, vLetztesLeerzeichen + 1, vLeerzeichenstelle - vLetztesLeerzeichen - 1) & "*'"
 End If
 vLetztesLeerzeichen = vLeerzeichenstelle
 Loop
 Weiter:
 Suchterm = vAnzeige
 End Function

Tags: ,

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.