Курсовая работа: Отчёт по созданию курсовой работы «База данных ACCESS»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

К-во Просмотров: 206
Бесплатно скачать Курсовая работа: Отчёт по созданию курсовой работы «База данных ACCESS»