02. Есть таблица, в ней нужно провести поиск по нескольким полям. При этом задача должна решаться так, ввели 1 символ, таблица изменилаяь и показала все записи, где есть эта фраза
Option Compare Binary
Option Explicit
'Option Compare Text
'***************************************************************
' 3. Пример. Как создать контекстный поиск в Access
' (смотрите также пример 2) ?
'***************************************************************
'==============================================================
' Открытие формы
Private Sub Form_Open(Cancel As Integer)
Me.myFind3.Form.RecordSource = "SELECT Книга FROM [1-Мои книги]"
End Sub
'==============================================================
' Поиск с отбором книг
Private Sub myBooks_Change()
Dim s As String
s = Me.myBooks.Text 'Определяем текст
With Me.myFind3.Form 'Выбираем форму
If Len(s) 0 Then
s = " WHERE Left([Книга]," Len(s) ") = '" s "'"
Else
s = ";"
End If
.RecordSource = "SELECT Книга FROM [1-Мои книги]" s
.Requery 'Меняем запрос
End With
End Sub
'==============================================================
' Контекстный поиск по книге
Private Sub Books_Change()
Dim rst As Recordset, frm As Form, s As String
On Error GoTo 999
Set frm = Me.myFind3.Form 'Выбираем форму
Set rst = frm.RecordsetClone 'Выбираем таблицу
rst.FindFirst "([Книга] Like '" Me.Books.Text "*')=True"
If rst.NoMatch = False Then
frm.Bookmark = rst.Bookmark
End If
Exit Sub
999:
MsgBox "Введите правильно данные?"
End Sub