Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Авторские форумы » Убей в себе ламера » Поиск в Access
новая тема  ответить следующая тема | предыдущая тема
Автор
 
Diam0nD - offline Diam0nD
30-04-2005 08:36 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Поиск в Access

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


__________________
Добро обязательно победит зло, поставит на колени и зверски убьёт!

Alexvn - offline Alexvn
02-05-2005 12:09 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Администратор
Буржуин проклятый



Diam0nD - вообще то поиск в Аксессе есть изначально, и делать его не нужно. Что ты имеешь в виду?

Diam0nD - offline Diam0nD
02-05-2005 13:06 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Я имею ввиду цивилизованный поиск, что-то вроде формы, вводишь данные, нажимаешь поиск, и получаешь результаты в таблице с подчиненной формой.

Надеюсь понятно объяснился.

Alexvn - offline Alexvn
04-05-2005 09:32 URL сообщения Дневник     K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Администратор
Буржуин проклятый



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 - подчиненная форма, содержащая таблицу с данными.

За верность синтаксиса не ручаюсь, с аксессом в последний раз работал лет пять назад

MOHCTP - offline MOHCTP
04-05-2005 10:05 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Партагеноссе



Для поиска по полю 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

Я обычно добавляю дополнительные функции на событие Клавиша вниз и в подчиненной форме пишу процедуру выделения текущей записи (для визуализации поиска). Код хорош тем, что не убирает все записи подчиненной формы, а позиционирует на записи с искомым текстом

Diam0nD - offline Diam0nD
05-05-2005 08:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Спасибо, будем думать....

Текущее время: 07:29
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru