Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Access новый практикум.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
6.92 Mб
Скачать

Запрос с параметром

Проектируя запрос, можно его создать таким образом, что он будет работать по-разному, в зависимости от выбранного параметра.

З адание 1. В конструкторе запросов выберите таблицу «Товары», укажите поля «Описание товара», «Цена» и «Код товара». В поле «Код товара» укажите условие [Введите код товара], Рис. 58

Рис. 58 Запрос с параметром

Введите – это ключевое слово, после которого следует ввести имя поля.

Нажмите на кнопку Выполнить (красный восклицательный знак). Выполните запрос несколько раз для разных товаров, Рис. 61

рис. 59

рис. 60 Готовый запрос

Откуда взялось слово "вентилятор" в запросе?

О ткройте таблицу Товары в режиме конструктора. В Свойствах поля обратите внимание на значение "по умолчанию"

Рис. 61 Конструктор таблицы Товары

З акройте запрос под именем "Товары параметр".

Теперь каждый раз при открытии этого запроса MS Access будет требовать ввода параметра:

Задание 2. Создайте запрос с параметром, где будет указано, когда фирма «Невотон». поставляла вентиляторы. Примените этот же запрос для фирмы «Никор»

рис. 62 Выполнение запроса с параметром

рис. 63

рис. 64

Вычисление значений полей

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

Задание 1. Создайте запрос «Новые цены» на основе таблицы «Товары» с вычисляемым полем, в котором будет подсчитано, сколько будет стоить каждый товар при общем повышении цен на 15%. Для этого в строку Поле введите выражение Цена *1,15 (чтобы ввести имя поля, достаточно щёлкнуть на нём в схеме данных запроса), Error: Reference source not found:

рис. 65

Как только мы поставим курсор в другое место, получится так:

рис. 66

Переходим в режим таблицы:

рис. 67

Затем подсчитайте, на сколько увеличилась цена каждого товара. В конструкторе запроса установите новые названия вычисляемых полей: Планируемая цена и Подорожание (Выражение1 замените на Планируемая цена и т.д.),

рис. 68 Конструктор запроса с вычисляемым полем

Переходим в режим таблицы:

рис. 69 Готовый запрос с вычисляемым полем

Задание 2. Создайте запрос на основе таблицы Сделки «Цена полученного товара», где будет отражено, контракт на какую сумму был получен в результате сделок по каждому виду товара, совершённых после 01.06.03. Новое поле в запросе назовите Цена полученного:

рис. 70 Для задания 2

рис. 71 Готовый запрос

Запросы на изменение и их использование

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

Запрос на удаление

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

Создайте копию таблицы Товары, назовите её Товары1:

рис. 72

Из таблицы "Товары1" удалим записи для материнских плат дороже 3000 руб. Обратите внимание: поскольку после выполнения запроса данные из таблицы будут утеряны без права восстановления, то работать мы будем с копией таблицы Товары, то есть с Товары1.

Откроем Таблицу1 и включим фильтры, чтобы убедиться, что такие платы действительно есть в прайсе:

рис. 73

Закройте таблицу.

Теперь с помощью конструктора создаём запрос, при этом выбираем тип запроса Удаление:

рис. 74 Бланк запроса на удаление

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

рис. 75 Эти записи будут удалены

Обратите внимание на совпадение с рис. 73

Возвращаемся в Конструктор и выполняем запрос кнопкой

рис. 76

Говорим "ДА" и закрываем запрос. Посмотрите теперь на таблицу "Товары1":

Включаем фильтр по полю Описание товара:

рис. 77

Видим, что в прайсе отсутствуют материнские платы дороже 3000 рублей.

Помните: если при выполнении запроса на удаление, включающего только таблицу на стороне «один» отношения «один-ко-многим», для данного отношения было включено каскадное удаление, то будут удаляться также и связанные записи на стороне «многие».

рис. 78 Включено каскадное удаление