Страница: 1 |
|
Вопрос: Access 2003. Нужен поиск по форме
|
Добавлено: 08.10.09 10:06
|
|
Автор вопроса: ZagZag | ICQ: 295002202
|
Hi всем, давненько я тут не был...
Вот пришлось работать в Access, сделать небольшую базу с формой и поиском.
В форме отображаются данные из связанной таблицы... эх, вставку картинок не приделали до сих пор =(
Поиск пока сделал так:
http://xmages.net/out.php/i533377_1.png
По мере ввода фильтруются фамилии, при двойном щелчке открывается вторая форма для редактирования выбранной записи
http://xmages.net/out.php/i533378_2.png
Вроде как все работает, но хочется чтобы можно было искать не только по фамилии, но и по другим критериям.
Короче, не знаю как сделать это попроще и поудобнее.
Хочется чтобы можно было вводить текст в любое поле в форме "Список" и данные фильтровались по нему (или нескольким полям), но нужно так же оставить возможность редактирования данных в этих полях...
Если кто работал с поиском в Access 2003 VBA, подскажите как вы это делали.
PS
Если интересно, вот код:
Private Sub lstResults_DblClick(Cancel As Integer)
Dim lngRecord As Long
lngRecord = lstResults.ItemData(lstResults.ListIndex)
Form_Список.Visible = True
DoCmd.GoToRecord acDataForm, "Список", acGoTo, lngRecord
Form_Поиск.Visible = False
End Sub
Private Sub txtFIO_Change()
Dim strWhere As String
Dim strSQL As String
strWhere = "WHERE True "
If Len(Me!txtFIO.Text & "") > 0 Then
strWhere = strWhere & "And Список.FIO Like '*" & Me!txtFIO.Text & "*' "
End If
strSQL = "SELECT Список.id, Список.FIO FROM Список " & strWhere & ";"
Me!lstResults.RowSource = strSQL
End Sub
Ответить
|
Номер ответа: 2 Автор ответа: ZagZag
ICQ: 295002202
Вопросов: 87 Ответов: 1684
|
Профиль | | #2
|
Добавлено: 13.10.09 09:32
|
Вот ведь...
- DoCmd.GoToRecord acDataForm, "Список", acGoTo, lngRecord
lngRecord - не ID записи из таблицы, а номер записи в таблице.
Разница в том что ID может быть любым, а номер записи - порядковый, если в таблице 2 записи, то их номера будут = 1 и 2, а ID, допустим 170 и 171. Так что VBA вернет ошибку.
Как, зная ID, получить номер записи?
Ответить
|
Страница: 1 |
Поиск по форуму