Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по Access 2003.doc
Скачиваний:
4
Добавлен:
26.04.2019
Размер:
744.96 Кб
Скачать

3.7. Запросы с удалением записей

Ранее рассмотренные запросы относятся к категории запросов выборки. Они не меняют записей БД, а только отбирают из нее необходимые нам записи.

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

Напишем запрос удаления из таблицы ЗАКАЗ записей с более ранней датой, нежели вводимая по запросу. Эта операция нужна для того, чтобы объем таблицы ЗАКАЗ не разрастался до бесконечности. На практике обычно перед удалением удаляемые записи помещают в архив.

Вначале создадим запрос-просмотр, чтобы не удалить что-нибудь нужное (восстановить данные автоматически уже не удастся!). Для этого перетащим в бланк запроса QBE поля * и Дата продажи (последнее поле без печати, для этого отменим Вывод на экран в бланке QBE в этой колонке), введем условие <[Дата], укажем параметр Дата в таблице параметров с типом Дата/время. Назовем запрос “Удаление по дате”. Выполним запрос для определенной даты, нажав пиктограмму Выполнить, и убедимся, что выводятся нужные нам записи.

Теперь преобразуем его в запрос удаления. В меню выберем пункты Запрос / Удаление. Больше менять в запросе ничего не нужно. Для выполнения опять нажмем кнопку Выполнить. Появится сообщение, сколько записей будет удалено. Если нажмем кнопку Да, то записи, отвечающие условию, будут удалены. Выберем кнопку Нет, чтобы не удалять имеющиеся записи.

3.8.Запросы замены

Запросы замены также позволяют менять информацию в БД. Создадим запрос “Инфляция” для увеличения всех цен в таблице ТОВАР на 20%. Перенесем в бланк запроса поле Цена, выберем пункты меню Запрос / Обновление. Введем в строке Обновление формулу [Цена]* 1,2. Выполним запрос. Перед обновлением записей откроется окно-предупреждение такого же типа, что и в предыдущем пункте.

3.9.Перекрестные запросы

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

Например, составим запрос, сколько и каких товаров купили отдельные покупатели. Для начала составим групповой запрос. Откроем таблицу ЗАКАЗ, отбуксируем поля Код покупателя, Код товара, Количество товара. Выберем в меню кнопку Групповые операции. В столбце Количество товара выберем Группировка / Sum. Выполним запрос.

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

  1. Создать перекрестный запрос из п.3.9, но вместо кодов указать фамилии покупателей и наименования товаров, для этого использовать связанные таблицы ТОВАР, ЗАКАЗ и ПОКУПАТЕЛЬ.

  2. Ввести в предыдущую таблицу условие – выбирать заказы после определенной даты, которую вводить в качестве параметра.

Указание. Для этого надо ввести еще один столбец Дата продажи, в строке Групповая операция выбрать Условие, ввести условие >=[Дата], описать параметр Дата в пункте меню Параметры.