MS ACCESS №4
Создание запросов
Запрос – самый быстрый способ доступа к информации из БД. Запросы выводят только интересующие вас поля и записи. Они позволяют осуществлять вычисления по значениям полей, выполнять групповые операции и объединять поля из нескольких таблиц или запросов.
Создание запроса в режиме конструктора
Для создания простого запроса необходимо выполнить следующие действия:
В окне базы данных выбрать вкладку Создание и в группе Другие щелкнуть на кнопке Конструктор запросов.
Откроется окно диалога Добавление таблицы, в котором необходимо выбрать таблицу из которой будет выбираться нужная вам информация и нажать кнопку Добавить. Закрыть окно диалога.
На экране открывается окно конструктора запросов, схема данных которого содержит все выбранные вами таблицы, а бланк запроса пуст.
Для выбора полей, которые должны присутствовать в результирующей таблице, вам необходимо отобразить их в бланке запроса. Каждая строка этого бланка выполняет определенную функцию:
Поле. В этой строке помещают те поля, которые вы используете для создания запроса, каждое в своей ячейке таблицы.
Имя таблицы. Эта строка показывает вам, из какой таблицы выбрано данное поле.
Сортировка. В этой строке вы указываете тип сортировки информации, если она необходима.
Вывод на экран. Если вы хотите, чтобы Access показывал информацию, найденную в поле, пометьте эту ячейку флажком.
Условие отбора. В этой строке вы вводите ограничения поиска, задавая определенные условия, которые принято называть критерием поиска.
Добавление полей в бланк запроса. Для добавления в таблицу отдельных полей вы можете выбрать поле таблицы на схеме данных и дважды нажать кнопку мыши.
Удаление полей из бланка запроса. Для удаления ненужного поля из запроса выделите столбец, нажав на область выбора, и нажмите кнопку Delete .
Изменение порядка полей. Порядок полей в бланке запроса определяет порядок появления их в результирующей таблице. Поля перемещаются аналогично перемещениям столбцов данных в режиме таблицы.
Запуск запроса. После того как запрос сформирован, нажмите кнопку Выполнить на вкладкеКонструктор группы Результаты. Результат выполнения вашего запроса появится в режиме таблицы. Вернуться обратно в режим Конструктора можно щелкнув на кнопке Режим вкладки Главная (группа Режимы) или щелкнуть на кнопке Конструктор в строке состояния Access.
Сохранение запроса. Созданный запрос можно использовать в дальнейшем. Для этого вы должны присвоить ему имя и сохранить его. Чтобы сохранить запрос щелкните на кнопке Сохранить панели быстрого доступа. В открывшемся окне Сохранение ввести имя нового запроса и щелкнуть на кнопке ОК.
Построение более сложных условий выбора записей
Точное несовпадение значений одного из полей. Предположим, что вам требуется найти в таблице записи, значения которых не удовлетворяют определенному условию. Для установки таких значений используется оператор Not, который печатается перед сравниваемым значением.
Условие неточного совпадения. В том случае, если вы не помните точного задания чисел или последовательности символов в качестве критерия поиска, можно использовать оператор неточного совпадения Like. Данный оператор позволяет найти требуемые записи, зная лишь приблизительное написание величины, и используется совместно с подстановочными символами.
Символ |
Использование |
Пример |
Результат |
*
|
Соответствует любому количеству букв, цифр или других символов. |
Like “*55*” |
“553-3486”, “123-5561” и “187-1355” |
? |
Соответствует любому текстовому символу |
Like Снег?рев |
Фамилия: “Снегирев” и “Снегерев” |
[ ] |
Соответствует любому одному символу из заключенных в скобки |
Like “[АС]*” |
Имя: Артем, Алексей, Алла, Сергей, Света |
! |
Соответствует любому одному символу, кроме заключенных в скобки |
Like “[!А]*” |
Имя: Борис, Николай, Мария, (и другие имена, не начинающие на А) |
- |
Соответствует любому символу из диапазона. Необходимо указывать этот диапазон по возрастанию (от А до Я, но не от Я до А) |
Like “[Г-Л]*” |
Фамилия: Голубев, Демин, Жуков, Иванов, Кузьмин, Леванов. |
Выбор записей по диапазону значений
Для задания диапазона значений в окне конструктора запросов используются операторы (больше), (не менее), (меньше), (не более) и Between…And, которые вы можете использовать с текстовыми и цифровыми полями, а также полями дат.
Пример 1: Получить список клиентов, чей кредит превышает 100000.
Условие отбора – “100000”.
Пример 2: Получить сведения обо всех заказах с 1 января по 31 марта 2008 года.
Условие отбора - Between #01.01.08# And #31.03.08#
Обратите внимание, что в Access в условиях отбора значения даты необходимо выделять с обеих сторон символом #.
Объединение критериев нескольких полей.
Довольно часто возникает ситуация, когда задаются условия для нескольких полей таблицы или же нескольких условий для одного поля. Если запись выбирается только в случае выполнения всех условий, то условие такого выбора называется логическим И, а запрос – И-запросом. Если же запись выбирается при выполнении хотя бы одного из всех условий, то условие такого поиска называется логическим ИЛИ, а запрос – ИЛИ-запросом.
Для задания И-выражения вы должны просто задать условие в строке Условие отбора для каждого из полей, образующих критерий.
При задании ИЛИ-выражения каждое из условий выбора, образующих критерий, должно располагаться на отдельной строке бланка запроса. Например, для выбора списка клиентов из Киева и Минска нужно просто расположить первое условие в строке Условие выбора, а второе в строке Или.
Операторы Or и And
При вводе условия вы можете использовать операторы Or и And , которые позволяют вам формировать в одной строке сложное условие выборки, в отличии от приведенного выше способа написания условий в разных строках.