
- •Работа с базами данных
- •1. Субд Microsoft Access
- •1.1 Общие сведения
- •1.2 Объекты ms Access
- •2. Построение и модификация Базы данных
- •2.1. Создание таблицы
- •2.2. Работа с таблицами в окне базы данных
- •2.3. Работа с таблицей в режиме конструктора
- •2.4. Работа с данными в режиме таблицы
- •2.5. Сортировка данных
- •2.6. Поиск данных
- •2.7 Создание в таблице поля со списком подстановок или списком значений
- •Создание поля с подстановкой значений из другой таблицы в режиме конструктора
- •2.8 Ввод и просмотр данных посредством формы
- •3. Пример проектирование базы данных
- •3.1. Определение задачи
- •3.2. Отбор необходимых данных и выбор объектов базы данных.
- •3.3. Нормализация таблиц. Первая нормальная форма.
- •3.4. Создание первичного ключа.
- •3.5. Связь между таблицами.
- •4. Запросы данных
- •4.1. Типы запросов
- •4.2. Создание запроса-выборки
- •4.3. Примеры создания запросов выбора
- •4.4. Создание вычисляемых полей
- •4.5. Создание итоговых запросов
- •4.6. Создание параметрических запросов
- •4.7. Создание перекрестных запросов
- •4.8.Модификация данных с помощью запросов действий
- •5. Формирование отчетов
- •6. Импортирование и экспортирование таблиц
4.6. Создание параметрических запросов
В запросах выбора условия отбора вводятся непосредственно в бланках QBE окна запроса в режиме конструктора. Однако не всегда на этапе создания запроса можно решить, какие именно значения должен отыскивать Access. Вместо этого можно включить в запрос параметр и в этом случае перед выполнением запроса Access каждый раз будет запрашивать у пользователя конкретные условия отбора. Чтобы установить параметр, вместо конкретного значения в строку Условия отбора в бланке QBE нужно ввести имя или фразу, заключенную в квадратные скобки. То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса, поэтому в качестве имени параметра следует использовать содержательную фразу. В одном запросе можно задать несколько параметров. При этом имя каждого параметра должно быть уникальным и информативным.
Фактически Запрос с параметрами - это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Например, часто требуются данные о продажах на определенную дату. Чтобы не создавать отдельные запросы на каждую дату, можно создать один запрос с параметрами, где в качестве параметра будет использоваться дата. При каждом вызове этого запроса вам будет предложено ввести дату, а затем на экран будут выведены все поля, которые вы указали в запросе, со значениями на заданную дату.
Пример 12. Определить общую сумму продаж за определенный день.
Поле |
Дата |
Стоимость |
Имя таблицы |
ОТПУСК |
ОТПУСК |
Групповая операция |
группировка |
Sum |
Условие отбора |
[Введите дату] |
|
4.7. Создание перекрестных запросов
Access поддерживает специальный тип итоговых запросов, называемый перекрестным запросом или запросом кросс-таблиц. Такой запрос позволяет увидеть вычисляемые значения в виде перекрестной таблицы, напоминающей электронную таблицу. Если необходимо объединить данные в формате строк-колонок (двумерная таблица), то следует создать запрос кросс-таблицы. При проектировании запроса кросс-таблицы можно указать в качестве заголовков для колонок значения некоторых полей или выражений. Запросы кросс-таблиц позволяют более компактно, чем обычные запросы, индицировать данные, объединяя однотипную информацию. При создании перекрестного запроса необходимо в режиме конструктора запроса выполнить команду Запрос/ Перекрестный. Access добавляет в бланк QBE строку Перекрестная таблица. В этой строке для каждого поля перекрестного запроса может быть выбрана одна из четырех установок: Заголовки строк, Заголовки столбцов, Значение (выводимое в сетке перекрестного запроса) и Не выводить.
Для перекрестного запроса нужно определить по крайней мере одно поле в качестве заголовка строки, одно поле в качестве заголовка столбца и одно поле значений. Каждое поле, являющееся заголовком строки или столбца, должно иметь в строке групповых операций установку Группировка. Для поля, которое в бланке запроса имеет установку Значение, нужно выбрать одну из групповых функций (Max, Min, Sum, Count, Avg,…) или ввести выражение, содержащее групповые функции.
Как и в других типах итоговых запросов, для отбора данных, включаемых в набор записей, можно использовать дополнительные поля. Для таких полей необходимо выбрать установку Условия в строке групповых операций и Не выводить в строке Перекрестная таблица, а затем ввести Условия отбора. Условия отбора и сортировки можно указать для любого поля, используемого в качестве заголовка.
Пример 13. Определить итоговые суммы продаж по месяцам (столбцы таблицы) для каждого наименования товара (строки).
Поле |
Название |
Month([Дата]) |
Стоимость |
Имя таблицы |
ТОВАРЫ |
ОТПУСК |
ОТПУСК |
Групповая операция |
Группировка |
Группировка |
Sum |
Перекрестная таблица |
Заголовки строк |
Заголовки столбцов |
Значение |
Сортировка |
По возрастанию |
По возрастанию |
|
Порядок столбцов в перекрестной таблице можно определить, используя бланк свойст запроса. Бланк свойств можно получить, если щелкнуть в любом месте верхней панели (вне списка полей) окна запроса в режиме конструктора, а затем по кнопке Свойства на панели инструментов.