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

Форма отчета

Показать преподавателю заполненную таблицу «Студент», выполнить сортировку по двум полям и фильтрацию по указанию преподавателя, знать ответы на контрольные вопросы.

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

  1. Как изменить ширину полей таблицы?

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

  3. Как задать имя таблицы?

  4. Объясните значение свойств поля:

  • значение по умолчанию;

  • условие на значение;

  • описание.

  1. В каком режиме осуществляется ввод записей?

  2. Можно ли изменить порядок следования записей, например, по алфавиту?

  3. Для каких целей используется фильтрация данных?

Лабораторная работа №3 Создание запросов

Цель работы: Закрепление теоретического материала по условиям отбора данных и получение навыков создания простейших запросов.

Основные сведения

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

Access позволяет создавать запросы двух типов: QBE-запросы и SQL-запросы.

QBE-запросы (Query By Example – запрос по образцу) строятся с помощью конструктора в окне конструктора запросов.

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

Каждый из этих типов указывается на вкладке «Конструктор» ленты интерфейса после вывода на экран окна «Запрос» в режиме «Конструктор».

SQL-запросы – запросы, представляющие собой последовательность операторов и функций языка SQL (Structured Query Language – структурированный язык запросов).

QBE-запросы в Access преобразуются в SQL-запросы.

Access позволяет создавать запросы двумя способами: с помощью конструктора или с помощью мастера.

Для создания нового запроса необходимо на ленте интерфейса активировать вкладку «Создание». В группе «Макросы и код» запускается или «Мастер запросов» или «Конструктор запросов». При запуске конструктора запросов появляется бланк запроса QBE. В верхнем поле бланка ставятся таблицы, поля которых будут использованы в запросе. Добавление таблиц производится через контекстное меню командой «Добавить таблицу …».

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

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

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

Для выбора записей, удовлетворяющих определенным критериям, необходимо:

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

  2. Проследите, чтобы в строке «Вывод на экран» флажок отображался бы галочкой.

  3. В строке «Условие отбора» введите критерии отбора.

Если условия в этой строке определены для нескольких полей, то они связаны логической функцией «И». Если условия отбора разных полей определены в разных строках – «Условие отбора» и «Или», - то такие условия связаны логической функцией «ИЛИ».

При построении критерия (условия) отбора в запросах могут использоваться выражения, операторы и функции Access. Кроме таких операторов как > (больше), < (меньше), >= (не менее), <= (не более), могут использоваться следующие операторы:

оператор Between позволяет задать интервал для числового значения, например: Between 300 And 500;

оператор IN – выполнить проверку на равенство любому значению из списка, например: IN(3181,3185) или IN(«Москва», «Санкт-Петербург», «Казань»);

оператор Like разрешает использовать образцы и символы шаблона при поиске данных, например: Like «Михайлов» или Like «М*».

Допускается использование в литерах символов шаблона *,?, #, [список], [!список]:

*- любое количество символов;

? – в позиции шаблона может быть один любой символ;

# - в позиции может быть любая цифра;

[список] – в позиции может быть любой символ из списка;

[!список] – в позиции может быть любой символ за исключением символа из списка.

При написании шаблон заключается в двойные кавычки.

Примеры:

Like «А*» - в поле «Фамилия» отражаются все фамилии, начинающиеся на А.

Like «*/1/99» - в поле «Дата» - все записи за январь 1999 года.

Like «[ABC]*» - в поле «Имя» - любое имя, начинающееся с указанных букв.

Как правило, запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора. В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос, параметрический запрос позволяет создать и хранить один единственный запрос и вводить условия отбора (значение параметра) при запуске этого запроса, каждый раз получая новый результат. Для создания запроса с параметром необходимо:

  1. Открыть в режиме «Конструктор» бланк запроса и добавить в него таблицу. «Перетащите» необходимые поля в бланк запроса;

  2. В качестве условия введите имя параметра, заключенное в квадратные скобки (например, [Введите название] или >[Выше какого роста?]);

  3. Нажмите кнопку «Выполнить» панели инструментов;

  4. В появившемся окне укажите значение параметра;

  5. Результат запроса будет содержать только те записи, которые удовлетворяют заданному значению параметра.

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

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

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

  3. После создания выражения в окне построителя щелкнуть по кнопке «ОК» и вернуться в бланк запроса. В поле появится выражение. По умолчанию после нажатия клавиши «Enter» или перемещения в другую ячейку полю будет автоматически присвоено имя «ВыражениеN», где N – целое число, возрастающее на единицу для каждого нового поля, содержащего выражение, в запросе.

Пример:

Выражение1:[Студент]![Стипендия]*0.2

Пользователь может переименовать вычисляемое поле, выделив имя этого поля и введя новое имя, например, заменить имя «Выражение1» на имя «НДС».

Для создания поля Сумма следует ввести в ячейку в строке Поле выражение:

Сумма: [Цена]*[Количество]

  1. При делении денежного значения на любое число возвращается числовое значение со значением свойства Размер поля «С плавающей точкой (8 байт)». Чтобы возвращалось значение типа «Денежный», следует указать этот тип в свойстве запроса Формат поля.

  2. При вводе выражения в окно свойств в поле бланка запроса Access выполняет автоматическую вставку определенных символов при изменении положения фокуса. В зависимости от типа поля, в который вводится выражение, автоматически добавляются:

  • квадратные скобки ([ ]) вокруг имен полей, форм, отчетов и элементов управления;

  • символы (#) вокруг дат;

  • прямые кавычки (« ») вокруг строковых данных.

Запрос с итогами позволяет производить выборку данных одновременно с их группировкой и вычислением групповых итогов с использованием различных статистических функций. В Access предусмотрены 9 статистических функций:

Sum – сумма значений некоторого поля для группы;

Avg – среднее значение некоторого поля для группы;

Max, Min – максимальное или минимальное значение поля для группы;

Count – число значений в поле для группы (пустые значения поля не учитываются);

StDev – среднеквадратичное отклонение от среднего;

Var – дисперсия значений поля в группе;

First, Last – значения поля из первой или последней записи.

Для выполнения итогового запроса:

  1. Находясь в режиме «Конструктор», выберите команду нажмите кнопку «Итоги» вкладки «Конструктор». В результате чего в бланке запроса появится строка «Групповая операция».

  2. Для соответствующего поля выберите нужную функцию из списка «Группировка».

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

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

  2. Выберите команду «Перекрестный». Строка запроса «Вывод на экран» в бланке запроса изменится на новую строку «Перекрестная таблица» и перед ней появится строка «Групповая операция».

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

  4. Щелкните мышью в строке «Перекрестная таблица» и выберите соответствующие значениям данных полей опции из разворачивающегося списка.

  5. Для поля, содержимое которого индицируется в качестве значений, в строке «Групповая операция» введите необходимую функцию, например, автосуммирования, определения среднего значения или количества.

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

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

Для создания запроса необходимо выполнить следующие действия:

  1. Создайте новый запрос выбора тех блоков данных, которые будут добавлены в некоторую таблицу и проверьте его корректность, перейдя в режим «Таблица»;

  2. Вернувшись в режим «Конструктор», выберите команду «Добавление»;

  3. В появившемся окне введите имя таблицы, к которой нужно присоединить данные, и нажмите «ОК»;

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

Используя запрос на обновление, можно изменить в базовой таблице группу блоков данных, отобранную на основе определенных критериев. Для создания запроса инициируется команда «Обновление». В появившейся в бланке запроса строке «Обновление» в соответствующих столбцах задайте новые значения полей таблицы. В качестве таковых могут выступать и вычисляемые значения. В случае необходимости можно воспользоваться построителем выражений (кнопка «Построитель»).

Запрос на удаление позволяет удалить записи из одной или нескольких таблиц одновременно. Он удаляет целиком записи таблицы, удовлетворяющие критериям отбора, поэтому если требуется удалить значения отдельных полей записи, следует создать запрос на обновление. Для создания запроса инициируется команда «Удаление». Отбор блоков данных выполнятся в соответствии с заданными критериями в строке «Условие отбора». В строке «Удаление» устанавливаются дополнительные критерии отбора.

Запрос на создание таблицы осуществляет создание новой таблицы на основе динамического набора данных. Создается новый запрос выбора. Для создания резервной копии таблицы (таблицы, содержащей те же поля и в том же количестве, что и в оригинале), чтобы не перетаскивать все поля таблицы в строку «Поле», достаточно поместить туда символ *, заменяющий все поля таблицы и находящийся в начале списка полей таблицы. Создание запроса инициализируется командой «Создание таблицы». Затем задается имя новой таблицы.

Задания

Задание 1

Для базы данных «Учебный процесс» создайте 4 запроса на выборку в соответствии с табл. 3 по вариантам. (Варианты указываются преподавателем).

Задание 2

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

Задание 3

Создание модифицирующих запросов.

  1. Предположим, что стипендия увеличилась на 10%. Создайте запрос, позволяющий скорректировать значения поля «Стипендия». Откройте таблицу «Студент» и убедитесь в правильности выполнения запроса.

  2. Создайте копию таблицы «Студент» под названием «Временная». В таблице «Временная» измените в 2-3 записях оценки по математике или по русскому на 2.

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