Kamrad.ru

Go Back   Kamrad.ru > Авторские форумы > Убей в себе ламера

Reply
 
Thread Tools Display Modes
Old 30-04-2005, 11:36   #1
Diam0nD
Камрад
 
Join Date: авг 2000
Location: Нарва, Эстония
Сообщений: 236
Поиск в Access

Народ кто-нить может помочь сделать поиск для БД в accessе. Детали будут по ПМ


__________________

Добро обязательно победит зло, поставит на колени и зверски убьёт!
Diam0nD is offline   [Ответить с цитированием]
Old 02-05-2005, 15:09   #2
Alexvn
Администратор
Буржуин проклятый
 
Join Date: мая 2000
Location: Париж, Франция
Сообщений: 10,913
Diam0nD - вообще то поиск в Аксессе есть изначально, и делать его не нужно. Что ты имеешь в виду?
Alexvn is offline   Дневник [Ответить с цитированием]
Old 02-05-2005, 16:06   #3
Diam0nD
Камрад
 
Join Date: авг 2000
Location: Нарва, Эстония
Сообщений: 236
Я имею ввиду цивилизованный поиск, что-то вроде формы, вводишь данные, нажимаешь поиск, и получаешь результаты в таблице с подчиненной формой.

Надеюсь понятно объяснился.
Diam0nD is offline   [Ответить с цитированием]
Old 04-05-2005, 12:32   #4
Alexvn
Администратор
Буржуин проклятый
 
Join Date: мая 2000
Location: Париж, Франция
Сообщений: 10,913
Diam0nD - аксесса у меня под рукой нет, к сожалению, так что помочь могу только теоретически.

Есть несколько способов сделать то, что тебе нужно.

Если поиск предполагается делать по какому то одному полю, то можно указать значение текстового поля формы, где вводятся данные, в качестве критерия для запроса, лежащего в основе таблицы подчиненной формы, и по нажатию кнопки "Поиск" просто обновлять подчиненную форму.

Если поле, по которому производится поиск, может быть произвольным, то тебе нужно создать процедуру, которая будет накладывать соответствующий (в зависимости от указанных на основной форме данных) фильтр на таблицу подчиненной формы - что то типа следующего:

Private Sub buttonFind_Click ()
Dim stringFieldName
Dim stringFieldValue

stringFieldName = Me.comboboxFieldsList.Value
stringFieldValue = Me.textboxSearchCriteria.Value
Forms![subformWithData].Filter = stringFieldName & " = """ & stringFieldValue & """"
Forms![subformWithData].FilterOn = True
End Sub

Здесь comboboxFieldsList - комбобокс со списком возможных полей, по которым ведется поиск, textboxSearchCriteria - текстовое поле для ввода критерия поиска, subformWithData - подчиненная форма, содержащая таблицу с данными.

За верность синтаксиса не ручаюсь, с аксессом в последний раз работал лет пять назад
Alexvn is offline   Дневник [Ответить с цитированием]
Old 04-05-2005, 13:05   #5
MOHCTP
Партагеноссе
 
MOHCTP's Avatar
 
Join Date: дек 2002
Сообщений: 1,252
Для поиска по полю User в подчиненной форме frmUserList в основной форме делаешь текстовое поле xU, на событие Изменение ставишь код

Private Sub xU_Change()
Dim strCriteria As String

strCriteria = "InStr(1, [User], '" & Me!xU.Text & "') = 1"
Set rst = Me![frmUserList].Form.RecordsetClone
rst.findfirst strCriteria
If rst.nomatch Then
MsgBox "Записи не найдены"
Else
Me![frmUserList].Form.Bookmark = rst.Bookmark
Me.xU.SetFocus
End If
rst.Close
End Sub

Я обычно добавляю дополнительные функции на событие Клавиша вниз и в подчиненной форме пишу процедуру выделения текущей записи (для визуализации поиска). Код хорош тем, что не убирает все записи подчиненной формы, а позиционирует на записи с искомым текстом
MOHCTP is offline   [Ответить с цитированием]
Old 05-05-2005, 11:07   #6
Diam0nD
Камрад
 
Join Date: авг 2000
Location: Нарва, Эстония
Сообщений: 236
Спасибо, будем думать....
Diam0nD is offline   [Ответить с цитированием]
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +3. The time now is 01:09.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Любое использование материалов сайта
возможно только с разрешения его администрации.