Формирование запросов на выборку 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формирование запросов на выборку



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

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

Одновременно с бланком запроса по образцу открывается диалоговое окно Добавление таблицы, в котором в качестве источника данных для запроса выбирается таблица, например Сотрудник, а затем выполняется щелчок на кнопке Добавить. Имя таблицы с перечнем содержащихся в ней полей появится в верхней части бланка запроса. Выбрав источник данных, нужно щелкнуть на кнопке Закрыть, и окно Добавление таблицы закроется.

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

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

· в нижней части бланка запроса в строке Поле выполнить щелчок на пустой ячейке, а затем из списка полей, раскрываемого щелчком на кнопке выбора данных из списка, выбрать требуемое поле;

· в верхней части бланка запроса осуществить двойной щелчок на имени поля требуемой таблицы;

· в верхней части запроса выделить одно или несколько полей таблицы (при нажатой клавише [ Ctrl ]), которые затем перетащить в строку Поле нижней части бланка;

· для включения в запрос всех полей таблицы последние выделить двойным щелчком на строке заголовка таблицы, а затем перетащить в строку Поле.

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

В каждой ячейке строки Вывод на экран проставлен флажок, т. е. по умолчанию опция Вывод на экран активна для всех полей. При этом предполагается, что все поля, включенные в запрос, должны выводиться на экран, что не всегда необходимо. Например, надо отсортировать данные по возрасту сотрудников, а поле Дата рождения не должно отображаться в результирующей таблице. В этом случае флажок поля Дата рождения сбрасывается щелчком по значку Ú.

Критерии поиска задаются в строке Условие отбора. Для вывода в результирующей таблице списка сотрудников определенной должности необходимо в ячейку строки Условие отбора поля Должность ввести какое-либо значение, например мастер. Если необходимо вывести список работников нескольких должностей, например мастеров и инженеров, то в строке Условие отбора указывается одно из значений поля Должностьмастер, а в строке или – другое значение этого поля – инженер. Этот критерий поиска можно задавать и в одной строке Условие отбора, введя в ячейку поля Должность выражение: мастер OR инженер, в котором ключевое слово OR указывает на использование в выражении логической операции ИЛИ.

Данные можно отбирать не только по значениям текстовых полей, но и по значениям полей других типов. Например, для вывода списка сотрудников, родившихся позже определенной даты, допустим позже 01.01.70, необходимо ввести в ячейку поля Дата рождения выражение > 01.01.70 (после запуска запроса Access преобразует это выражение: > #01.01.70#).

Для того чтобы вывести список сотрудников, оклад которых больше или равен 3000 рублей, но меньше или равен 8000 рублей, в ячейку поля Оклад вводится выражение >=3000 A nd <=8000. Заполнив бланк запроса, можно просмотреть результирующую таблицу, щелкнув на кнопке!  (Запуск), расположенной на инструментальной панели, или выполнив команду Запрос ® Запуск.

При закрытии диалогового окна Запрос на выборку необходимо задать имя запроса, с которым он будет сохранен. Запрос можно сохранить и до закрытия диалогового окна с помощью команды Файл ® Сохранить.

Для просмотра результирующей таблицы сохраненного запроса его имя маркируют в окне базы данных и щелкают на кнопке Открыть. Запрос также открывается двойным щелчком на его значке, отображенном в окне базы данных.

 

Параметрические запросы

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

Параметрический запрос формируется аналогично запросу на выборку. Отличие заключается лишь в том, что в строке Условие отбора указывается не конкретное значение поля, по которому ведется отбор данных, а вводится в квадратных скобках сообщение пользователю о необходимости задания критерия поиска. Так вместо значения мастер поля Должность в ячейку этого поля может быть записано сообщение [ введитенаименование должности ]. При выполнении запроса это сообщение выдаётся пользователю в диалоговом окне Введите значение параметра После ввода требуемого значения поля Должность, например инженер, и щелчка на кнопке OK на экран будет выведен список инженеров.

Запросы на обновление

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

После включения в бланк запроса полей выбранной таблицы выполняется команда Запрос ® Обновление, после чего в нижней части бланка строка Сортировка заменяется строкой Обновление. В эту строку в ячейку поля, значения которого необходимо изменить, вводится выражение. Например, в ячейку поля Зарплата будет введено выражение 1,5* [ оклад ] – 0,13*1,5* [ оклад ], из которого видно, что зарплата каждого сотрудника в 1,5 раза больше его оклада минус 13% вычетов. Наименования полей, значения которых будут использованы при вычислении введенного выражения, должны быть заключены в квадратные скобки.

С помощью запроса на обновление можно изменять данные не всех записей, а выборочно. Для этого в бланк запроса включаются поля, по значениям которых будет вестись отбор записей. Например, в таблице Сотрудник необходимо увеличить оклады на 25% только инженерам. С этой целью в ячейку столбца Оклад вводится выражение 1,25* [ Оклад ], а в ячейку, находящуюся в строке Условие на выборку и в столбце поля Должность, записывается критерий поиска инженер.

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

При запуске запроса на обновление (щелчок на кнопке Запуск  !) или его открытии в окне базы данных Access предупредит, что будут обновлены значения такого-то количества записей.

Для просмотра результатов расчета после выполнения запроса необходимо в окне базы данных щелкнуть на значке объекта Таблицы, выделить имя таблицы (в данном случае таблицы Сотрудник) и открыть ее щелчком на кнопке Открыть.

 

Итоговые запросы

Итоговые запросы позволяют выполнять вычисления (сумму, среднее значение и др.) по всем записям для какого-либо числового поля, определять количество записей. Итоговые запросы формируются, как и ранее рассмотренные виды запросов, с помощью бланка запроса по образцу. В нижнюю часть бланка запроса включаются поля, для которых рассчитываются итоговые значения, а также поля, по которым производится группировка записей. Например, необходимо определить для каждого подразделения (см. таблицу Сотрудник) количество сотрудников, занимающих определенную должность, а также сумму окладов и среднее значение зарплаты по каждой должности. Для этого в запрос включаются поля Подразделение и Должность, по которым группируются записи, а также поля Должность (т.е. в нижнюю часть бланка запроса это поле вставляется дважды), Оклад и Зарплата, чтобы подсчитать соответственно количество сотрудников, сумму окладов и среднюю зарплату для каждого наименования должности.

После включения требуемых полей в запрос необходимо щелкнуть на кнопке S (Групповые операции), расположенной на инструментальной панели, после чего появится строка Групповые операции. В каждой ячейке этой строки отобразится слово Группировка. Для полей Подразделение и Должность значение Группировка в строке Групповая операция должно быть оставлено. Щелчок на ячейках остальных полей со значением Группировка вызывает появление кнопки выбора данных из списка, из которого выбирается требуемая операция: для поля ДолжностьCount (количество), для поля ОкладSum (сумма), для поля ЗарплатаAvg (среднее значение). Кроме указанных функций, также часто используются функции Max (максимальное значение) и Min (минимальное значение). Для полей Подразделение и Должность целесообразно включить сортировку по возрастанию.

Редактирование запросов

Для внесения необходимых изменений в запрос любого вида его имя следует маркировать в окне базы данных и щелкнуть на кнопке Конструктор. На экране появляется бланк запроса, в который можно вносить изменения: вставить, удалить или переименовать поля, изменить условия отбора, тип сортировки и др.

Чтобы удалить поле, необходимо щёлкнуть на любой ячейке этого поля, а затем выполнить команду Правка ® Удалить.

Для перемещения поля его выделяют щелчком над его заголовком и перетаскивают в соответствующее место бланка запроса.

Добавление нового поля осуществляется таким же образом, как вставка поля при формировании запроса.

Формы

Создание форм

Access предоставляет возможность вводить данные либо непосредственно в таблицу, как было рассмотрено ранее, либо с помощью форм. Формы рекомендуется использовать, если данные часто меняются или база постоянно пополняется новыми записями. Если данные вводятся непосредственно с бланков, то графическими средствами форму можно представить так, чтобы она повторяла оформление бланка, что заметно облегчает работу пользователя.

С помощью форм данные можно не только вводить, но и отображать в удобном для пользователя виде.

Формы можно создавать в режиме Конструктор или с помощью Мастера форм, или использовать автоформы. В отличие от таблиц и запросов, которые рекомендуется формировать с помощью Конструктора, формы удобнее создавать, используя автоформы или Мастер форм, а Конструктор применять при редактировании и форматировании форм.

Автоформы бывают трех видов: «в столбец» ленточные и табличные. Табличные формы имеют вид таблиц Автоформа «в столбец» может отображать только одну запись.

Для создания автоформы в окне базы данных надо щелкнуть на значке элемента Формы и затем щелкнуть на кнопке Создать. В диалоговом окне Новая форма выбирается вид автоформы и источник данных: таблица или запрос. После щелчка на кнопке OK автоформа выводится на экран.

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

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

 

Редактирование формы

Под редактированием формы понимаются такие изменения, как удаление поля и добавление нового, добавление новых текстовых записей и изменение существующих и т. п. Для отображения структуры формы на экране необходимо в окне базы данных выделить имя требуемой формы и щелкнуть на кнопке Конструктор. Структура формы (ленточной), содержит три основных раздела: область заголовка, область данных и область примечаний.

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

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

Наиболее часто при редактировании форм или создания форм в режиме Конструктор используются элементы управления Надпись, Поле, Рисунок, Сводная рамка объекта. Рисунок выбирается из графического файла и вставляется в объект. Элемент Сводная рамка объекта может быть представлен не только в виде рисунка, созданного, допустим, в графическом редакторе Paintbrush, но и в виде другого объекта, например мультимедийного.

Вместе с элементом Поле автоматически вставляется его присоединённая надпись. По умолчанию эта надпись стандартная: Поле 1, Поле 2 и т.д. Если новое поле не содержит данных, то в нём отображается слово Свободный. Поле можно сделать вычисляемым. В этом случае в присоединённую надпись вводится поясняющее сообщение, например Средний оклад, а в поле записывается выражение = Avg ([Оклад]). С помощью такого поля можно подводить итоги, если оно будет вставлено в область примечаний формы.

Выражение в поле можно не только вводить с клавиатуры, но и форматировать его автоматически. С этой целью выделяется поле, куда будет введено выражение, а из контекстного меню (вызывается щелчком правой клавиши мыши) выбирается команда Свойство. Затем в диалоговом окне Поле курсор необходимо перевести в строку Данные и щелкнуть на кнопке с тремя точками; на экране появится диалоговое окно Построитель выражения. В этом окне щелчком на соответствующей кнопке вставляется знак равенства (=), двойным щелчком раскрывается папка Функции, затем щелчком раскрывается папка Встроенные функции. Функция Avg (среднее значение), входящая в список встроенных функций, вставляется в выражение либо двойным щелчком, либо щелчком на кнопке Вставить. В выражении эта функция отображается с аргументом «expr», который необходимо удалить, после чего выделить имя формы (в нижнем левом окне), а затем из появившегося списка полей (в нижнем среднем окне) выбрать поле Оклад.

 



Поделиться:


Последнее изменение этой страницы: 2021-06-14; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.153.38 (0.028 с.)