Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab5-6 / ЛабAccess №2

.doc
Скачиваний:
23
Добавлен:
29.03.2015
Размер:
45.57 Кб
Скачать

Лабораторная работа № 2 (4 часа) Создание запросов

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

Запрос, это временная таблица. Это значит, что данные в них не хранятся постоянно, а только временно вызываются из таблиц, по заранее заданному шаблону, в момент активизации запроса. Таким образом, в базе данных постоянно хранится только шаблоны вызова данных (временные таблицы удаляются после закрытия запроса), а сама информация не дублируется.

Во время создания в запросе необходимо задать ссылки на таблицы запросы или формы, откуда будут вызываться данные (добавление таблиц в запрос). Если нужная таблица не добавлена, то перед открытием запроса требуемые данные будут запрашиваться в режиме диалога.

Ход работы

  1. Быстрое создание запроса – объединения двух таблиц

  1. Откройте Вашу заполненную базу данных.

  2. Перейдите на вкладку Запросы

  3. Создайте запрос, выбрав режим конструктора (появится окно конструктора запроса с диалоговым окном добавления таблиц. Окно добавления таблиц можно вызвать командой Добавить таблицу из меню Запрос).

  4. Добавьте в запрос все таблицы Товары и Типы. Убедитесь, что между добавленными таблицами автоматически установилась связь (как в схеме данных)

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

  6. Закройте окно конструктора, назвав запрос «Список товаров».

  7. Просмотрите созданный запрос, выбрав его из списка запросов. Убедитесь в том, что он включает все поля таблиц Товары и Типы.

  1. Создание запроса на выборку на базе созданного

    1. Перейдите на вкладку Запросы

    2. Создайте запрос, выбрав режим конструктора (появится окно конструктора запроса с диалоговым окном добавления таблиц. Окно добавления таблиц можно вызвать командой Добавить таблицу из меню Запрос).

    3. Добавьте в окно источников запрос Список товаров. Убедитесь, что между добавленными таблицами автоматически установилась связь (как в схеме данных)

    4. Для трех колонок запроса выберите КодТовара, Марка и ПоставкиПрекращены соответственно.

    5. Оставьте для отображения только те товары, поставки которых не были прекращены. Для задания этого условия в ячейке Условие отбора для поля «ПоставкиПрекращены» введите значение Нет. Тем самым данное поле логического типа используется, как фильтр для оставления тех товаров, поставки которых не прекращены.

    6. Отключите Вывод на экран для данной колонки.

    7. Закройте окно конструктора, назвав запрос «Список имеющихся товаров».

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

    9. Создайте самостоятельно запрос «Список не имеющихся товаров», показывающий товары, поставки которых прекращены.

  1. Создание запроса на выборку со сложным условием отбора

    1. Перейдите на вкладку Запросы

    2. Создайте запрос, выбрав режим конструктора (появится окно конструктора запроса с диалоговым окном добавления таблиц. Окно добавления таблиц можно вызвать командой Добавить таблицу из меню Запрос).

    3. Добавьте в окно источников таблицу Заказы. Убедитесь, что между добавленными таблицами автоматически установилась связь (как в схеме данных)

    4. В колонки запроса добавьте последовательно все поля таблицы.

    5. Оставьте для отображения только те заказы, стоимость доставки которых не менее 2000 рублей, а выполнены они были между первым июля и 31 декабря 2001 г.

Для задания первого условия в ячейке Условие отбора для поля СтоимостьДоставки введите >2000.

Для задания второго условия в ячейке Условие отбора для поля ДатаИсполнения введите Between #01.07.01# And #31.12.01# (выбранный Вами формат даты должен соответствовать указанному).

    1. Закройте окно конструктора, назвав запрос «Просмотр последних заказов».

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

  1. Запрос с параметрами

По схеме, изложенной в предыдущем пункте, и на основании справочной информации, изложенной ниже, создайте запрос «Просмотр последних заказов1». Вся исходная информация для отбора данных должна вводиться пользователем при вызове запроса.

Запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например, условие для возвращения записей или значение, которое требуется вставить в поле. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например, двух дат. Затем Microsoft Access может вернуть все записи, приходящиеся на интервал времени между этими датами. Запросы с параметрами также удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным. Например, на основе запроса с параметрами можно создать месячный отчет о доходах. При печати данного отчета Microsoft Access выводит на экран приглашение ввести месяц, доходы за который должны быть приведены в отчете. После ввода месяца Microsoft Access выполняет печать соответствующего отчета.

  1. Для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора текст приглашения, заключенный в квадратные скобки. Это приглашение будет выводиться при запуске запроса. Текст приглашения должен отличаться от имени поля, но может включать его.

Для поля, которое выводит даты, можно ввести приглашения следующего вида "Введите начальную дату:" и "Введите конечную дату:", чтобы задать границы диапазона значений. В ячейке Условие отбора поля наберите Between [Введите начальную дату:] And [Введите конечную дату:].

  1. Для просмотра результатов нажмите кнопку Вид на панели инструментов и введите значение параметра. Чтобы вернуться в режим конструктора запроса, снова нажмите кнопку Вид на панели инструментов.

Примечания

  • Необходимо определить тип данных для параметров в перекрестном запросе или в запросе с параметрами, являющемся базовым для диаграммы или для перекрестного запроса. В перекрестном запросе необходимо также задать значение свойства Заголовки столбцов (ColumnHeadings).

  1. Создание итогового запроса с вычислением итоговых значений для нескольких записей

По схеме, изложенной в предыдущих пунктах, и на основании справочной информации, изложенной ниже, создайте итоговый запрос «Промежуточная сумма заказа» В основе итогового запроса«Промежуточная сумма заказа», объединяющего записи по коду заказа, лежит таблица «Заказано». Единственное исходное поле – КодЗаказа с Групповой операцией Группировка. В поле «ПромежуточнаяСумма», вычисляющем общую сумму каждого заказа, для расчета отпускных цен товаров используются арифметические операции, для их суммирования — функция Sum, а для округления цен до существующих единиц — функция CCur. Выражение, записываемое в Поле ПромежуточнаяСумма должно иметь вид:

ПромежуточнаяСумма: Sum(CCur([Цена]*[Количество]*(1-[Скидка])/100)*100)

Групповая операция с данным полем – Выражение.

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

В запросах можно использовать поля, выполняющие вычисления или манипулирующие значениями других полей. Для этого строят выражения.

  1. Откройте запрос в режиме конструктора.

  2. Выполните одно из следующих действий.

  • Введите выражение в пустую ячейку в строке Поле. Если выражение содержит имя поля, то это имя необходимо заключить в квадратные скобки.

  • Если при создании выражения потребуется помощь, воспользуйтесь построителем выражений. Чтобы вызвать его, щелкните правой кнопкой ячейку Поле, в которую нужно добавить вычисляемое поле, и выберите команду Построить.

После нажатия клавиши ENTER или перехода в другую ячейку Microsoft Access задаст имя поля по умолчанию в формате «ВыражениеN», где N представляет собой целое число, увеличивающееся для каждого нового поля в запросе, содержащего выражение. Имя находится перед выражением; после имени добавляется двоеточие. В режиме таблицы это имя служит заголовком столбца.

Подстроку «ВыражениеN» можно выделить и ввести вместо нее более содержательное имя, например, «НоваяЦена».

  1. Если выражение содержит одну или несколько статистических(итоговых) функций (Sum, Avg, Count, Min, Max, StDev или Var) и если бланк запроса включает другое поле или поля, которые необходимо использовать для группировки, нажмите кнопку Групповые операции на панели инструментов (если строка Групповая операция еще не отображена на экране). Оставьте в ячейке Групповая операция группируемого поля значение Группировка, а в вычисляемом поле измените значение Группировка на Выражение.

  2. Для завершения запроса можно выполнить одно из следующих действий.

  • Введите условия отбора.

  • Выполните сортировку результатов.

  • Установите такие свойства полей, как Формат поля (Format) (так как поля не наследуют свойства базовой таблицы).

Контрольные вопросы

  1. Для чего служат запросы на выборку?

  2. Как создать запрос с параметрами?

  3. Как объединить таблицы в один запрос, не перечисляя в нем имен полей?

  4. Что такое итоговые запросы? Как правильно оформляются вычисляемые поля (выражения)?

  5. Почему запросы не занимают в базе данных много места?

  6. По какому количеству критериев можно отбирать информацию в одном поле запроса?

  7. Для чего в запрос вставляют ссылки на таблицы?

  8. Какие способы вставки полей в запрос вы знаете?

Соседние файлы в папке Lab5-6