Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум access _120104_11.doc
Скачиваний:
21
Добавлен:
09.11.2019
Размер:
3.74 Mб
Скачать

Стоимость: [цена]*[кол-во на складе].

Можно ввести выражение с помощью Построителя выражений, который вызывается кнопкой  Построить Панели инструментов. В верхней части окна построителя (рис.26) формируется выражение, в нижней части окна выбираются поля, участвующие в создании выражения. Список слева в нижней части окна представляет папки всех имеющихся в БД таблиц, запросов, форм и отчетов. Первая папка представляет текущий объект (у нас это запрос Информация о продуктах). После выделения любого из объектов в средней панели отображаются его поля и другие элементы управления в средней панели. При выборе одного из этих элементов в правой панели отображаются его свойства. В нашем примере можно указать на исходную таблицу Продукты и двойным щелчком поочередно выбрать нужные для построения выражения поля. После подготовки выражения нажмите ОК В поле Вывод на экран текущего столбца бланка запроса надо установить флажок, а в столбцах Цена и Кол-во на складе можно снять флажки. Сохраните созданный запрос под именем Стоимость (Файл/Сохранить как), выполните  !  и закройте его.

  1. Создадим запрос с условием отбора. По таблице Продукты отберем список продуктов, количество которых на складе не менее 2000 единиц. Для этого надо открыть запрос Информация о продуктах в режиме Конструктора, в поле Условие отбора столбца Кол-во на складе задать условие >= 2000. Можно задать несколько условий отбора по нескольким полям. Если все условия отбора будут заданы в одной строке, то MsAccess воспримет это как логическое "И", если в разных - то как логическое "ИЛИ". В поле Вывод на экран текущего столбца бланка запроса надо установить флажок. Сохранив под именем Кол-во не меньше 2000, выполните созданный запрос  !  и закройте его.

  2. Создайте запрос с условием отбора для определения списка продуктов, цена которых не меньше 20 р. и количество 1000 единиц, и сохраните его под именем Дороже 20 рублей.

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

Если при формировании запроса необходимо указать значения больше/меньше среднего по полю, то в качестве условия отбора в соответствующем столбце записывается выражение:

Оператор отношения(select avg ([имя поля]) from [имя таблицы])

  1. Создадим запрос с параметром по условию отбора. Такой запрос позволяет задавать конкретное условие отбора непосредственно при выполнении этого запроса. Условие в общем виде выглядит так:

оператор отношения [текст сообщения].

  1. По таблице Продукты надо выдать список товаров, количество которых на складе не менее заданного пользователем в запросе. Сначала требуется создать простой запрос, включающий все поля таблицы Продукты, затем открыть его в режиме конструктора и в качестве условия отбора столбца Кол-во на складе записать выражение: >=[на складе не менее]. Сохраните запрос под именем Продукты по количеству и выполните его. При выполнении этого запроса программа будет запрашивать интересующее Вас количество продуктов.

  2. Задание параметра в диапазоне. По таблице Заказы определите объем продаж за задаваемый период времени. Следует построить простой запрос по таблице Заказы, содержащий поля Номер заказа, Код продукта, Кол-во, Дата поставки. Затем в режиме конструктора надо записать условие отбора в столбце Дата поставки следующего вида: between [задайте начальную дату] and [задайте конечную дату]. Условие можно сформировать с помощью  Построителя выражений (between – это оператор сравнения). Сохраните запрос под именем Объем продаж и выполните его. При выполнении этого запроса программа будет запрашивать начальную и конечную дату интересующего Вас периода.

  3. Рис. 27

    Рассмотрим создание итогового запроса. Итоговый запрос позволяет получить итоговые данные по всей таблице или сгруппировать данные по общим признакам и выполнить групповые операции. Требуется определить по таблице Заказы объем продаж каждого вида товара (сколько заказов каждого вида товара и в каком количестве товар заказан). Можно строить итоговый запрос в режиме конструктора или с помощью Мастера. Выберем первый способ. В режиме конструктора создадим простой запрос по таблице Заказы, выбрав поля № заказа, Код продукта и Кол-во. Затем нажмем кнопку Групповые операции . В нижней части бланка запроса (рис.27) появится строка Групповая операция. Выпадающий список в ячейке Групповая операция содержит двенадцать функций. Вот некоторые из них:
    • Группировка, означает, что данное поле будет основой для группировки данных. В нашем примере это поле Код продукта.

    • Sum позволяет суммировать все значения данного поля. У нас это поле Кол-во.

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

Сохраните запрос под именем Итоги по продуктам. Выполните запрос.

Рис.28

Рис. 29

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

  2. Перекрестный запрос. В результате выполнения такого запроса создается сводная таблица. По таблице Заказы требуется создать таблицу для просмотра дат исполнения заказов по конкретным продуктам с указанием их количества. Во вкладке Запросы надо нажать кнопку Создать, выбрать строку Перекрестный запрос и нажать ОК. На первом шаге работы Мастера перекрестных запросов (рис.28) следует выбрать исходную таблицу Заказы и нажать кнопку Далее. В следующем окне (рис.29) требуется указать поле, значения которого будут использованы как заголовки строк Код продукта и нажать кнопку Далее. На следующем шаге (рис.30) надо указать поле для задания заголовков столбцов Дата поставки и нажать кнопку Далее. В следующем окне (рис.31) необходимо указать временной интервал Дата для группировки данных и нажать кнопку Далее. После этого (рис.32) указывается, какие вычисления будут производиться на пересечении строк и столбцов (Кол-во, функция Sum). Если требуется, можно вычислить итоговые значения. В последнем окне задается название запроса Поставка заказов и выбирается режим выполнения запроса. Затем надо нажать кнопку Готово (рис.33).

    Рис.30

    Рис.31

    Рис.32

    Рис.33

  3. Запрос записи без подчиненных. Такой запрос позволяет в одной таблице найти записи, которым нет соответствия в другой таблице, связанной с первой. Например, требуется выдать список продуктов, не востребованных ни в одном заказе. Таблица, где объекты обязательно существуют, считается главной. В нашем случае это таблица Продукты. Таблица, в которой некоторых объектов может не быть, называется подчиненной. У нас это таблица Заказы. Во вкладке Запросы надо нажать кнопку  Создать, выбрать строку Записи без подчиненных и нажать ОК. На первом шаге Мастера (рис.34) надо указать главную таблицу: Продукты и нажать кнопку Далее. Затем указывается подчиненная таблица (рис.35) - Заказы и нажимается кнопка Далее. В следующем окне задается связующее эти таблицы поле Код продукта (рис.36) и нажимается кнопка Далее. После этого выбираются поля с необходимой информацией о не заказанном продукте (рис.37) и нажимается кнопка Далее. В последнем окне задается название запроса Не востребованные продукты и выбирается режим выполнения запроса. Затем надо нажать кнопку Готово.

  4. Рис.34

    Рис.35

    Рис.36

    Рис.37

    Все рассмотренные выше виды запросов могут комбинироваться. Кроме того, можно создавать запросы по нескольким таблицам и по запросам.
  5. Создадим запрос по нескольким таблицам. Требуется выдать список всех заказов, отсортированных по клиентам, с указанием стоимости заказа, имени клиента и наименования продукта. Запрос может быть создан в режиме конструктора или с помощью Мастера. Если создавать такой запрос в режиме конструктора, то требуется добавить в бланк запроса все три таблицы, а затем разместить в нижней части бланка все нужные поля:

    • Из таблицы Заказы - № заказа, Дата поставки, Кол-во.

    • Из таблицы Клиенты - Наименование.

    • Из таблицы Продукты - Наименование, Цена.

Затем следует создать новое вычисляемое поле (вручную или с помощью Построителя выражений):