Создание запросов с параметрами

Запросы – объекты базы данных, чаще всего извлекающие из таблиц или других запросов информацию согласно заданным условиям. Это виртуальные таблицы (существующие в оперативной памяти компьютера. На диске хранится лишь структура самого запроса, формулы и условия, по которым будут отбираться данные), не являющиеся хранилищем информации; но через большинство запросов можно менять информацию, создавать вычисляемые поля (значения которых также не хранятся на жёстком диске).

Самым распространённым является запрос на выборку, выдающий из массива данных информацию, которая отвечает нашим требованиям. Например, можно выбрать из таблицы «Сотрудники» работников, возраст которых не больше 28 лет, имеющих высшее образование, несемейных.

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

Например, нам часто нужны сведения по сотрудникам, фамилия которых начинается с определённой буквы. Можно сделать около 30 запросов (для почти всех букв русского алфавита), чтобы получать требуемые данные, но это займёт много времени для создания запросов, загромоздит базу данных и вызовет путаницу. Вместо этого создадим один запрос для формирования списка сотрудников, который будет нас спрашивать, с какой буквы начинающиеся фамилии мы хотим видеть.

В поле «Условие отбора» (режим конструктора) введём: Like [Введите первую букву фамилии]& «*». На самом деле, если введём букву «А», условие будет читаться программой как Like «А*». Знак амперсанда «&» указывает на необходимость сцепления введённой буквы с остальными символами искомой ячейки, так как «*» обозначает любое количество символов после первой буквы фамилии.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

Ниже приведён пример такого запроса. Сам параметр заключён в квадратные скобки.

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

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

Ещё один пример: Like «???» & [Введите номер месяца, например, для марта — 03, для ноября – 11:] & «?????». Три вопроса в начале формулы обозначают две цифры дня месяца и разделитель (как правило «.» или «/»).

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

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?

Ниже показано диалоговое окно ввода (месяц 05, т. е. май):

Ещё ниже выбранные запросом записи:

Как видим, отобраны сотрудники, чьи маленькие юбилеи приходятся на май; отсортированы записи по возрастанию по дню месяца (08, 21 и 29 мая).

Возможно Вас заинтересуют эти материалы

Access видео уроки для начинающих

Access — это система управления базами данных (СУБД). Эта СУБД предназначена для хранения и поиска

Работа с выражениями

Выражения – это основное средство выполнения операций в Access, представляющее собой комбинацию операторов (математических, логических и

Макросы в access

Макросы в access представляют собой как бы контейнер, в котором хранятся простейшие команды (макрокоманды), последовательно выполняющиеся.