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
Просмотров: 23847

  Коментарии (14)
 11 Написал(а) Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script , в 07:54 16.12.2008
:)
 12 Написал(а) Александр, в 16:52 30.12.2010
Просто великолепно!!! 
Спасибо.
 13 Написал(а) Ирина, в 13:40 09.09.2011
Здравствуйте. Очень заинтересовала ваша форма. Прости те пож-та сразу признаюсь что я чайник. Какой должен быть алгоритм действий чтобы эту форму вставить в свою базу данных и можно ли сделать для каждой таблице свою форму поиска или както галочками отметить..например две таблицы в одной адреса,в другой бд по оборудованию имеющемуся на этих аддресах,таблицы связаны между собой кодом объекта(ключевое поле)
 14 Написал(а) Александр К., в 04:39 25.03.2012
Спасибо! Все работает, но только у меня почему-то размеры окна "Результаты_поиска" размеры по вертикали выбираются сами и могут быть во весь экран, а могут быть в одну строчку, что очень не удобно и не эстетично, подскажите в чем может быть проблема. Форму создавал сам, но строго по образцу. По настройкам все проверил но все равно работает не так.

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code



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