Ich habe ein Problem mit meiner Freitext-Suche.
Gebe ich einen Suchbegriff ein, der in der Datenbank vorhanden ist, funktioniert die Suche problemlos. Mehr Zeichen im Suchbegriff, schränkt das Ergebnis ein, weniger Zeichen vergrößert die Datensätze im angezeigten Endlosformular.
Wenn ich aber ein Wort eingebe, welches es in dem Suchstring nicht gibt, kommt ein Fehler. (Laufzeitfehler 2185) Aber ich finde einfach das Problem nicht. Ich habe in einer anderen DB den gleichen Aufbau. Dort kann ich sonst was eingeben und er bringt keinen Fehler. Hat vielleicht jemand eine Idee, was in dem Code dafür verantwortlich sein könnte? Datenherkunft ist eine Abfrage mit einem zusammengesetzten Feld aus "allen" Feldern, worin dann gesucht wird.
Was auch ein Problem ist, wenn man dieser Fehler erscheint und man möchte dann Zeichen für Zeichen aus dem txt_SuBegriff löschen, erscheint bei jedem Zeichen was man weg nimmt wieder der Laufzeitfehler. Bis alle Zeichen raus sind.
Der Debugger markiert dann die Zeile If Not Len.....
- Code: Alles auswählen
Private Sub txt_SuBegriff_Change()
Dim strFilter As String
Dim intStart As Integer
intStart = Me!txt_SuBegriff.SelStart
If Not Len(Me!txt_SuBegriff.Text) = 0 Then
strFilter = "SuchFeld Like '*" & Me!txt_SuBegriff & "*'"
Me.Filter = strFilter
Me.FilterOn = True
Me!txt_SuBegriff.SelStart = intStart
Else
Me.Filter = ""
Me.FilterOn = False
Me!txt_SuBegriff.SetFocus
End If
End Sub