Страница: 1 |
Вопрос: Access 2003. Нужен поиск по форме | Добавлено: 08.10.09 10:06 |
Автор вопроса: ![]() |
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 |
Ответы | Всего ответов: 3 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #1 | Добавлено: 09.10.09 09:13 |
Может я просто не умею просить у Гугла?
Как такая фишка вообще правильно называется? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #2 | Добавлено: 13.10.09 09:32 |
Вот ведь...
lngRecord - не ID записи из таблицы, а номер записи в таблице. Разница в том что ID может быть любым, а номер записи - порядковый, если в таблице 2 записи, то их номера будут = 1 и 2, а ID, допустим 170 и 171. Так что VBA вернет ошибку. Как, зная ID, получить номер записи? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ICQ: 295002202 Вопросов: 87 Ответов: 1684 |
Профиль | Цитата | #3 | Добавлено: 13.10.09 09:48 |
Ага. Сам разобрался:
|
Страница: 1 |
|