Veteran
Beiträge: 229
Ort: Badendorf | Hallo,
ich habe mal wieder ein für mich unverständliches Problem, für welches auch in anderen Foren keine Lösung gefunden habe.
Ich habe eine Tabelle, die u.a. das Feld Name enthält. In einem Formular kann ich in einem ungebundenen Feld Buchstaben eingeben und die Routine filtert mir dann die Zeilen mit den Namen heraus.
Private Sub SelectName_Change()
Dim txt As String
Dim intStart As Integer
txt = Me!SelectName.Text
intStart = Me!SelectName.SelStart 'Cursorposition
If Not Len(txt) = 0 Then
Me.Filter = "Name LIKE '*" & txt & "*'"
Me.FilterOn = True
If (Me.RecordsetClone.RecordCount) > 0 Then
Me!SelectName.SelStart = intStart 'Cursor an richtige Stelle setzen
End If
Me!SelectName.SetFocus
Else
Me.Filter = ""
Me.FilterOn = False
Me!SelectName.SetFocus
End If
End Sub
Das funktioniert auch bei einigen Formularen problemlos, bei anderen hingegen nicht, wenn ich ein Suchwort eingebe, welches in der Liste nicht existiert.
Die Anzeige funktioniert dann noch, aber sowie ich den letzten Buchstaben des Suchwortes lösche, erhalte ich eine Fehlermeldung 2185. "Sie können auf die Eigenschaften oder Methoden eines Steuerelementes nur verweisen, wenn das Steuerelement den Fokus hat. Bei den nicht funktionierenden Formularen gelingt es mir aber nicht, den Fokus wieder herzustellen.
Rudolf |