Rambler's Top100
Российский фонд помощи
Навигация
Главная
MS ACCESS
VB
ASP
PHP
Наши друзья
Поиск
Форум
Лента новостей
Новый сайт

Online
Рассылки Subscribe.Ru
Работа с MS Access
Подписаться письмом
Реклама на сайте
 
Главная arrow MS ACCESS arrow Организация простого поиска значений в базе данных
Организация простого поиска значений в базе данных Печать E-mail
Автор час   
24.06.2008 г.
Оглавление
Организация простого поиска значений в базе данных
Страница 2

Законченное приложение, как правило, имеет систему поиска данных и справочную систему.
Для начала займемся поиском. Поиск необходимо производить порой по различным параметрам -
например, если это товар:
1 Поиск по наименованию
2 Поиск по артикулу
3 Поиск по штрихкоду
4 Поиск по цвету
5 Поиск по производителю
6 Поиск по срокам годности
и т.д. и т.п.
Создадим простую поисковую систему для поиска по различным критериям.

 

Примером для нас будет являться обычная записная книжка, которая имеет множество полей для ввода данных и
соответственно множество полей для поиска нужных данных. Это: Имя, Фамилия, Адрес, Домашний телефон, и т.д.
Начало начал - создание таблицы базы - в нашем случае она будет называться "Адреса".
В ней будут храниться все вносимые данные. На основе этой таблицы создаётся форма, она будет иметь имя: "Основная".
Далее нам понадобятся ещё две формочки. Форма "Поиск" для ввода искомого и форма для отображения результатов поиска
в виде таблички с найденными значениями ("Результат_Поиска").

Поиск начинается с нажатия кнопки с рисунком лупы на основной форме.
Эта кнопка просто открывает форму "Поиск" для ввода искомого: DoCmd.OpenForm "Поиск".
Рассмотрим всю цепочку поиска на примере поиска названия организации.
В поле поиска вводится любое количество символов искомого. Например, для поиска организации
Стоматология "Пофи -Дент-плюс" достаточно ввести : "Ден".
Далее нажимаем кнопку "Организация" - в событии нажатия этой кнопки записано

Call nachat("Организация") - то есть переход в функцию "nachat" и передать туда название поля

в котором следует вести поиск- (поле "Организация").

Центральным звеном поисковой цепочки является функция "Poisk", которая создаёт запрос.
(Этот запрос служит источником строк для формы: "Результат_Поиска").
Данная функция вынесена в отдельный модуль. Модули программы располагаются на последней вкладке окна базы данных.

В эту функцию передают название таблицы "Адреса" и  название поля (переменная "Pole") в которых необходимо вести поиск.

Call Poisk("Адреса", Pole)
Этой функцией в базе создаётся запрос, который является источником строк для формы "Результат_Поиска",
Также по окончании создания запроса на экран выводится сама форма"Результат_Поиска".
В ней мышкой тычем  из всего найденного - в нужную строку.
Основная форма переходит на данную запись, и мы наслаждаемся результатами поиска.

В этом же модуле объявляем общедоступные переменные, они служат для повторного поиска.
Вдруг понадобиться второй раз искать то, что только что искали...

Public Iskat_v_Pole As String ' В эту переменную записываем поле поиска
Public chto_iskat As String   ' В эту переменную записываем строку поиска

Что бы не загромождать код (для прозрачности) отсутствуют обработчики ошибок.
Комментарии к строкам кода - расположены внутри процедур и функций.

 

 


Download now
Просмотров: 25021

  Коментарии (14)
 1 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 19:59 28.06.2008
Здравствуйте. Нужна помощь и поддержка. Есть форма, где имеется список с данными. как сделать чтобы при выборе любой строчки оттуда, появлялись соответствующие этой строчке данные(у меня таблица с названиями компаний и продукты, которые компании выпускают. я хочу сделать при выборе продукта, чтобы появлялась компания, производящая его)? извините за глупый вопрос. заранее спасибо 
 
Вопросы лучше задавать на форуме http://hiprog.com/forum 
 2 Написал(а) kolt, в 08:53 24.07.2008
:)
 3 Написал(а) kolt, в 08:25 24.07.2008
:)
 4 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 20:16 02.08.2008
Отличная идея, очень понравилось! Но почему-то в моей базе работает наполовину: находит искомое, но не отображается на главной форме. Но в примере все работает...
 5 Написал(а) час, в 16:31 06.08.2008
Может пришлёте посмотреть? 
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script  
или.......
 6 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 22:03 12.08.2008
Точно идея отличная! Но имею такую же проблему как у Zheka... вчем может быть ошибка?
 7 Написал(а) час, в 07:52 14.08.2008
Расчёт был на вашу любознательность. 
При запуске в режиме отладчика секрет раскрывается сразу..... 
или вот ветка: 
 
http://hiprog.com/forum/read.php?id_forum=1&id_theme=3683&page=1
 8 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 15:50 05.10.2008
Спасибо, оценил результат вашего труда, высший уровень!
 9 Написал(а) Алексей, в 13:48 13.11.2008
Вопрос....вот в этой базе есть такая вещь 
 
Forms![Основная].RecordsetClone.FindFirst "[КодАдреса]=" & Me![KOD] 
 
откуда берется ME![KOD] , это надо гдето прописать или что 
 
Делаю в своей безе тоже самое....но записи на главной форме не обновляюся....в чем причина???
 10 Написал(а) час, в 17:34 25.11.2008
Алексей, 
расчёт был на вашу любознательность.  
При запуске в режиме отладчика секрет раскрывается сразу.....  
или вот ветка:  
 
http://hiprog.com/forum/read.php?id_forum=1&id_theme=3683&page=1


 
Реклама на сайте
HiProg.com - Технологии программирования
Rambler's Top100 TopList