Как создать текстовое поле поиска, которое ищет любую часть критериев в Access 2007? - PullRequest
0 голосов
/ 06 марта 2012

У меня есть база данных в Access 2007, и в настоящее время я использую следующий код для поля текстового поиска. Моя проблема в том, что он найдет запись только в том случае, если в поле поиска будет введено полное имя. В случае названия компании, я бы хотел, чтобы пользователь мог вводить первое слово компании, и он получал запись в форме. В настоящее время, если я ввожу имя, оно говорит, что запись не может быть найдена. Я должен ввести полное название компании. Может кто-нибудь помочь мне настроить этот код для того, что мне нужно?

Private Sub txtsrch_AfterUpdate ()

If (txtsrch & vbNullString) = vbNullString Then Exit Sub
    Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[lastname]=""" & txtsrch & """"
If rs.NoMatch Then
    MsgBox "Sorry, no such record '" & txtsrch & "' was found.", _
           vbOKOnly + vbInformation
Else
    Me.Recordset.Bookmark = rs.Bookmark
End If
rs.Close
txtsrch = Null

End Sub

Спасибо.

1 Ответ

0 голосов
/ 06 марта 2012

Вы можете:

rs.FindFirst "[lastname] Like '*" & Replace(txtsrch,"'","''") & "*'"

Вы можете варьироваться в зависимости от того, где вы ставите подстановочный знак (* для DAO) для начинающихся с txtsrch, заканчивающихся на txtsrch или, как показано, в имени txtsrch.

...