
Создание таблиц (см. Теоретические сведения к лабораторной работе 5).
Создание и использование запросов
В МS Ассеss имеются следующие типы запросов: на выборку и активные запросы или запросы действия (на обновление, на удаление, на добавление данных, на создание новой таблицы). При создании запросов можно использовать данные из одной или нескольких существующих таблиц или ранее созданных запросов.
В результате выполнении запроса на выборку создается динамический набор данных (временная таблица).
Общая технология создания запроса в режиме конструктора:
перейти на вкладку Запросы;
выбрать режим Создание запроса в режиме конструктора или использовать кнопки Создать - Конструктор;
добавить нужные таблицы или запросы с помощью диалогового окна «Добавление таблицы»;
переместить в бланк запроса необходимые поля из таблиц (перетаскивание мышью из таблицы, двойной щелчок по имени поля в таблице, выбор поля в строке Поле бланка QBE);
задать тип сортировки для тех полей, где это необходимо; сортировать можно по возрастанию и убыванию, по одному или нескольким полям; при сортировке по нескольким полям они должны быть расположены в бланке в порядке ключей сортировки слева направо;
задать, если необходимо, условия отбора – ограничения, налагаемые на значения полей;
отметить, какие поля нужно выводить на экран, по умолчанию выводятся все поля;
сохранить запрос под некоторым именем, которое должно отражать содержание запроса;
Для выполнения запроса из режима Конструктора выполнить команду Запрос – Запуск или использовать соответствующую кнопку на ПИ (!). Для запросов на выборку можно перейти в режим Таблицы. Для выполнения запроса из окна БД открыть запрос.
Условие отбора позволяет отобрать записи в соответствии с некоторым критерием. Для задания условий отбора, накладывающих ограничения на значение поля, в строку «Условие отбора» для этого поля вводится нужное выражение. Это выражение состоит из операторов сравнения и операндов (значений). Для создания сложных выражений используются логические операторы And ,Оr, Not. Вместо операции Оr в выражении может использоваться строка бланка ИЛИ.
Операторы сравнения: <; < =,> , > =,<>; In, Between, Like.
В качестве операндов могут использоваться некоторые заданные значения, имена полей, запросов, встроенные функции и другие идентификаторы. Имена полей должны заключаться в квадратные скобки (обычно это выполняется автоматически) . Если нужно указать ссылку на поле в конкретной таблице, то имя таблицы тоже заключается в квадратные скобки и отделяется от имени поля восклицательным знаком. Например, [Оборудование]![Количество].
При записи сложных выражений можно использовать построитель выражений. Для его вызова используется кнопка …\ на ПИ.
Параметрические запросы
Для введения условий отбора не в бланке запроса, а в диалоговом окне при выполнении запроса, используются запросы с параметром. Чтобы определить параметр, нужно ввести в строку «Условия отбора» вместо конкретного значения фразу, заключенную в квадратные скобки [ ]. То, что заключено внутри квадратных скобок, Ассеss рассматривает как имя параметра. Это имя выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра используют содержательную фразу. В одном запросе можно указать несколько параметров, при этом имя каждого должно быть уникальным и информативным.
Вычисляемые поля
В запросе можно выполнять вычисления с любыми полями таблицы, а также делать вычисляемое выражение новым полем в динамическом наборе записей, выбранном в результате выполнения запроса. При создании таких полей можно использовать встроенные функции Ассеss и арифметические операции над полями таблицы. При построении сложных выражений удобно использовать «Построитель выражений». Имя вычисляемого поля отделяется от выражения символом ":". Если имя не указано, то по умолчанию в заголовке вычисляемого поля будет выведено Выражение 1.
Если в таблице хранится дата (например, в поле Дата), а в условии отбора необходимо указать день, месяц или год, необходимо использовать функции соответственно Day([Дата]), Month([Дата]), Year([Дата]) и Date() – текущая дата.
Итоговые запросы на выборку
Эти запросы предназначены для выведения не отдельных записей таблицы, а итоговых значений по группам данных. Например, для вычисления общей стоимости оборудования по каждой кафедре или факультету. Или для того, чтобы вывести только одну запись для каждой группы. Например, все магазины города, в которых продавали сахар (если не сделать группировку каждый магазин будет выведен несколько раз с каждой датой).
Для создания таких запросов нужно щелкнуть на ПИ по кнопке Групповые операции (Σ). При этом в бланке запроса появляется строка «Групповая операция» с установкой «Группировка» для каждого поля, занесенного в бланк запроса. В группу включаются записи с одинаковыми значениями всех полей, в которых установлена Группировка. Для получения итоговых значений в нужных полях установку «Группировка» нужно заменить итоговой функцией, которую можно ввести с клавиатуры или выбрать из раскрывающегося списка.
К ним относятся:
Sum - сумма всех значений заданного поля в каждой группе. Используется только для числовых или денежных полей;
Avg - среднее арифметическое всех значений данного поля в каждой группе.
Min (Мах) - наименьшее (наибольшее) значение, найденное в этом поле внутри каждой группы.
Count - число записей в каждой группе.
Если в итоговых запросах нужно использовать условие отбора для поля, по которому не нужно устанавливать Группировку, то из списка выбирается Условие. В этом случае значение поля не будет выведено на экран.
Перекрестные запросы
Такие запросы относятся к особому типу итоговых запросов на выборку, в которых обычно группировка выполнена по двум полям и в одном поле используется итоговая функция. Они позволяют увидеть вычисляемые значения в виде перекрестной таблицы, похожей на сводную электронную таблицу без заголовка страницы. Сортировка значений в заголовках строк и столбцов выполняется автоматически. Для преобразования обычного итогового запроса на выборку в перекрестный запрос нужно в режиме «Конструктор» выполнить команду: Запрос / Перекрестный. При этом в бланк запроса добавляется строка «Перекрестная таблица». В этой строке необходимо выбрать:
для поля с группировкой, значения из которого будут заголовками столбцов перекрестной таблицы, выбрать установку Заголовки столбцов;
для поля с группировкой, значения из которого будут заголовками строк перекрестной таблицы, выбрать установку Заголовки строк;
для поля, в котором используется итоговая функция и которое будет отображаться в ячейках перекрестной таблицы, выбрать Значение,
Запросы действия (активные запросы)
К запросам действия относятся запросы на: обновление, добавление, удаление, создание таблицы. В результате выполнения запросов действия создаются новые таблицы или изменяются существующие. Результат выполнения запросов действия можно оценить на вкладке Таблицы.
Общая технология создания запроса действия:
создать запрос на выборку, где в качестве условий внести выражения, отбирающие данные, предназначенные для обновления, удаления, добавления или формирования новой таблицы;
выполнить запрос и проверить, правильно ли выбраны данные;
выбрать тип запроса в меню Запрос. Для запроса на обновление заполнить строку Обновление, то есть задать выражения, которые будут заноситься в таблицу вместо имеющихся данных. Для запроса на удаление заполнить строку Удаление. Для запроса на добавление или формирование новой таблицы в открывшемся окне ввести имя таблицы, в которую будут добавляться данные, или имя создаваемой таблицы.
Выполнение практической части:
Для создания таблицы использовала режим конструктор;
Создаю таблицы. Для этого определила поля таблиц, задала их имена (название области, областной центр, название города, наименование товара, город, магазин, дата, номер накладной, количество, номер накладной, товар, цена) и указала их типы данных (числовой; текстовый и т.д.);
Сохранила таблицы под названиями:
Области
Города
Накладные
Продажи
Товары
4. Установила связи между таблицами
- Для этого нажала
соответствующую кнопку на ПИ
;
- Поле Код области перетащила мышью из одной таблицы (главной) к такому же полю в другой (подчиненной); затем Код города перетащила мышью из одной таблицы (главной) к такому же полю в другой (подчиненной) ; Номер накладной перетаскиваю к такому же полю в другой таблице; Код товара к такому же полю в другой.
- Установила связь 1:∞;
- Сохранила схему данных.
Для каждой связи создала автоформу в один столбец для главных таблиц и ленточные автоформы для подчиненных таблиц.
6. Заполнила таблицы данными, используя любые формы. Первыми ввесла данные в справочную таблицу (3-5 записей), а затем в оперативную (7-10 записей). Ввела повторяющиеся данные для внешнего ключа. При выборе данных для ввода в таблицы учла виды запросов, которые придется выполнять с этими данными.
7. Создала в режиме Конструктора и выполнила запросы, позволяющие найти необходимую информацию в БД