Как сделать кнопку поиска в access?

Всем привет! В этой статье я расскажу как создать кнопку в базе Microsoft Access.

Как создать кнопку в базе Microsoft Access

Создание кнопок на форме не зависит от того, какая версия Access у вас установлена (2003, 2007, 2010, 2013 или 2016). В данной статье я покажу 2 способа создания кнопок на форме в базе данных Acceess: с помощью мастера и с помощью макроса.

Как это сделать?

Шаг 1. Создание формы

Если у вас нет формы, ее нужно создать. Более подробно как создаются формы можно посмотреть ТУТ. Переходим на вкладку «создание», пункт «Мастер форм». Далее выбираем таблицу или запрос, на основании которых будет создаваться форма. Далее выбираем необходимые поля и нажимаем «Далее».

как сделать кнопку поиска в access

Выбираем внешний вид формы.

как сделать кнопку поиска в access

Задаем имя формы и нажимаем «Готово».

как сделать кнопку поиска в access

Открываем форму в режиме конструктора. Как создать кнопку в базе Microsoft Access будет описано во втором шаге.

как сделать кнопку поиска в access

Шаг 2. Создание кнопки с помощью мастера

На панели инструментов выбираем пункт «Кнопка» и располагаем ее на форме. Появляется окно мастера кнопок. Здесь необходимо выбрать необходимую категорию и задать определенное действие. Выберем «Предыдущая запись» и нажмем «Далее».

как сделать кнопку поиска в access

Выбираем, что отображаем на кнопке: текст или рисунок. Оставляем рисунок по умолчанию и нажимаем «Далее».

как сделать кнопку поиска в access

Задаем имя кнопки и нажимаем «Готово».

как сделать кнопку поиска в access

как сделать кнопку поиска в access

Теперь создадим кнопку с текстом. Снова перейдем в мастер кнопок, выберем «Следующая запись».

как сделать кнопку поиска в access

Далее выбираем «Текст», нажимаем «Далее» и «Готово».

как сделать кнопку поиска в access

как сделать кнопку поиска в access

Шаг 3. Создание кнопки с помощью макроса

На панели инструментов выбираем пункт «Кнопка» и располагаем ее на форме. Появляется окно мастера кнопок. Нажимаем «Отмена».

как сделать кнопку поиска в access

как сделать кнопку поиска в access

как сделать кнопку поиска в access

Дважды щелкаем по созданной кнопке, чтобы открыть окно свойств. Переходим на вкладку «События» пункт «Нажатие кнопки». Нажимаем кнопку с тремя точками.

как сделать кнопку поиска в access

Выбираем «Макросы», нажимаем ОК.

Далее в выпадающем списке необходимо выбрать ту команду, которая будет выполняться при нажатии кнопки. Выберем команду «Выйти из Access».

как сделать кнопку поиска в access

как сделать кнопку поиска в access

Возвращаемся на форму «Таблица 1». Переименуем кнопку, зададим надпись «Выход».

как сделать кнопку поиска в access

Переходим в режим формы и проверим как работает кнопка «Выход». Приложение microsoft Access должно закрыться.

В данной статье мы разобрали как создать кнопку в базе Microsoft Access.

Если вам нужна готовая база данных Access, то ознакомьтесь со списком представленным ЗДЕСЬ.
—————————————————
Полезные ссылки:
Урок 17: мастер запросов
Урок 16: запрос на создание таблицы
Урок 15: запросы с параметром
Урок 14: запросы с вычисляемыми полями
Урок 13: Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе
Урок 12: Как создать ЗАПРОС С УСЛОВИЕМ
Урок 11: Как задать условия для ТЕКСТОВЫХ полей в запросах
Уроки по SQL-запросам

Типичной задачей является организация более удобного чем последовательный перебор перехода по записям в форме, задавая значения каких-то полей записи, для ее поиска по ним. Например, в форме с информацией для большого количества сотрудников хотелось бы быстро перейти к карточке сотрудника с известной фамилией. Это можно сделать с помощью специального списка для выбора фамилии.

В разд. «Создание элементов управления с помощью панели элементов»гл. 5 мы упомянули о том, что при создании списка/поля со списком с помощью Мастера в форме, привязанной к источнику данных, Access предлагает сделать его средством перехода к нужной записи в форме. Рассмотрим пример создания такого списка:

  1. Откройте в режиме Конструктора форму «Сотрудники» (Employees) базы данных «Борей» (Northwind).
  2. Убедитесь, что на панели инструментов Панель элементов (Toolbox) нажата кнопка Мастера (Control Wizards). Нажмите кнопку Поле со списком (Combo Box) и разместите новый элемент в разделе заголовка формы, начертив мышью прямоугольник нужного размера.
  3. Появится первое диалоговое окно Мастера списков. Выберите переключатель Поиск записи в форме на основе значения, которое содержит поле со списком (Find a record on my form based on the value I selected in my combo box) и нажмите кнопку Далее (Next).
  4. В следующем диалоговом окне мастера выберите поля, которые образуют столбцы элементов списка: «КодСотрудника» (EmployeeID), «Фамилия» (LastName) и «Имя» (FirstName). Нажмите кнопку Далее (Next).
  5. В следующем диалоговом окне Мастера списков предлагается настроить ширину столбцов списка. Столбец с ключевым полем «КодСотрудника» рекомендуется сделать скрытым (установите флажок Скрыть ключевой столбец (Hide key column)). Оставьте предложенные параметры и нажмите кнопку Далее (Next).
  6. В последнем диалоговом окне мастера требуется ввести текст метки, поясняющей назначение списка. Введите текст: Фамилия: и нажмите кнопку Готово (Finish).

Форма готова. Откройте ее в режиме Формы и убедитесь, что при выборе желаемых фамилии и имени в созданном поле со списком осуществляется переход к информации об этом сотруднике. Такое поле со списком удобно и тем, что значение в нем можно не только выбрать, но и просто ввести первые буквы фамилии — необходимый элемент будет выбран автоматически. Останется нажать клавишу , чтобы отобразить информацию о выбранном сотруднике.

Действие созданного поля со списком обеспечивается процедурой обработки события После обновления (After Update), сгенерированной мастером (см. также разд. «Создание процедур обработки событий»гл. 13).

Создадим двумя способами кнопку «Поиск фамилии» для быстрого поиска покупателя по фамилии в форме “Покупатель”. Первый способ – использование стандартных возможностей Access . Второй способ – использование макроса.

Использование стандартных возможностей Access

Откроем форму «Покупатель» в режиме конструктора. С панели элементов перенесем пиктограмму Кнопка в нижнюю часть формы. Будет вызван мастер Создание кнопки. Выберем режимы Категории: Переходы по записями,  Действия: Найти запись. Затем на кнопке разместим текст «Поиск фамилии», введя соответствующий текст в поле Текст. Далее в качестве названия кнопки введем ФИО. При работе с формой “Покупатель” при нажатии кнопки будет вызываться окно стандартного поиска и замены Access.

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

В результате на форме появится кнопка «Поиск фамилии», при нажатии на которую выскакивает стандартное окно «Поиск и замена». При поиске кроме образца надо указать поле, в котором необходимо найти данные, а также указать степень совпадения.

как сделать кнопку поиска в access

Использование макроса

Для примера создадим подобную кнопку поиска для формы «Товар». Создадим поле для ввода начала названия товара. Откроем эту форму в режиме конструктора и перетащим туда пиктограмму Поле в нижнюю часть формы. Вызовем список свойств правой части поля (первоначально оно имеет обозначение Свободный) щелчком правой кнопки мыши и заменим Имя на Поиск – данное имя в дальнейшем будет использоваться. В строке состояния (свойство Текст строки состояния) введем текст: «Введите название товара или его первые буквы». Вызовем список свойств для левой части Поля (Надписи) и заменим Подпись также на Поиск. Закроем форму.

Дальше создадим макрос «Поиск». Он будет состоять из трех макрокоманд. Откроем вкладку Созданиенажмем кнопку Макрос. С помощью команд панели инструментов  Имена макросов включим дополнительный столбец Имя макроса. Введем туда в первой строке слово Поиск. В колонке Макрокоманда выберем макрокоманду КЭлементуУправления. В области Аргументы макрокоманды в нижней части окна в качестве Имени элемента введем текст (в этом поле таблицы ТОВАР будет искаться товар с указанным именем). Во второй строчке во втором столбце Макрокоманда выберем из списка макрокоманд команду НайтиЗапись. В аргументах макрокоманды введем с клавиатуры в поле Образец поиска текст = (т.е. будет разыскиваться в поле Наименование таблицы ТОВАР запись, начало названия товара в которой совпадает с введенным в поле Поиск значением). В поле Совпадение выберем из списка элемент «С начала поля». Остальные элементы оставим без изменения. В третьей строке во втором столбце выберем снова макрокоманду КэлементуУправления, в аргументах макрокоманды для Имени элемента введем . Квадратные скобки вводить обязательно!

Созданный нами макрос будет работать следующим образом. Вначале выбирается поле Наименование таблицы ТОВАР для организации поиска. Затем по образцу из поля Поиск формы осуществляется поиск первой по порядку нужной нам записи. Затем фокус опять передается в поле Поиск для возможного продолжения поиска.

Закроем макрос и сохраним его с именем «Поиск товара». Теперь опять откроем форму «Товар» и перетащим туда макрос «Поиск товара». Появится кнопка с соответствующей подписью. Для поиска товара нужно ввести первые буквы названия товара, нажать кнопку «Поиск», будет найдена нужная запись (если она существует). Обратите внимание, то если ничего не вводить в окне Поиск, то при нажатии кнопки будет выдано сообщение об ошибке! В СУБД Access 2007 существуют способы обработки подобных ситуаций – макросы с условиями, но мы их рассматривать не будем.

Но таким образом можно найти лишь первую запись на введенную букву. Нетрудно организовать еще одну кнопку «Поиск далее». Для этого сделаем копию макроса «Поиск товара» через буфер обмена и назовем его «Поиск далее». С помощью конструктора изменим в новом макросе в аргументе строки НайтиЗапись свойство Первое вхождение с Да на Нет, Область поиска – Вниз. Теперь перетащим новый макрос в режиме конструктора в форму «Товар». Теперь будет идти поиск и последующих записей с тем же началом в поле Наименование.

Задание

  1. Создать в форме «Покупатель» аналогичные кнопки для поиска покупателя по началу фамилии.
  2. Создать в форме «Заказ» кнопку поиска записей, имеющих совпадающую с вводимой в специальном поле дату.