Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: rulez22 Access 2003/2007 Подскажите кто разбирается как сделать поиск нормально? Проблема в том что если есть 10 Ивановых в базе то при этом поиске показывает первую запись Иванова, хотелось бы чтобы показывалась последняя запись Иванова. Для поиска использую поле r_search вот код для поиска записи
Private Sub r_search_LostFocus() Dim RBev As DAO.Recordset Set RBev = CurrentDb.OpenRecordset("maindata") 'название таблицы Dim BW As Variant Dim I As Integer Dim LN As Double Dim SN As String Dim ZN As String BW = RBev.Bookmark If Not IsNull(r_search) And (Trim(r_search) <> "") Then SN = "" ZN = Trim(r_search) LN = 0 For I = 1 To Len(ZN) If (Mid(ZN, I, 1) >= "0") And (Mid(ZN, I, 1) <= "9") Then LN = I End If Next If LN = 0 Then RBev.Index = "tw_clientname" 'поле ИМЯ КЛИЕНТА RBev.Seek ">=", r_search r_sortedby = "Client name" 'r_sortedby информационное поле показывающее как происходил поиск по имени или по порядковому номеру или адресу Else If LN = 6 Then LN = Val(r_search) RBev.Index = "tw_bookingnumber" 'порядковый номер записи RBev.Seek ">=", LN r_sortedby = "Booking number" 'найдено по номеру записи Else RBev.Index = "tw_address" 'поиск по адресу RBev.Seek ">=", r_search r_sortedby = "Address" 'найдено по адресу End If End If If RBev.NoMatch Then 'если не найдено то.. MsgBox ("Not found") 'ничего не нашли.. RBev.Bookmark = BW End If Selectie = "SELECT * FROM maindata WHERE tw_bookingnumber = " & RBev!tw_bookingnumber Forms.maindata.RecordSource = Selectie Forms.maindata.r_search.SetFocus Else RBev.Bookmark = BW End If r_search = "" End Sub
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.