Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория к экзамену.doc
Скачиваний:
33
Добавлен:
17.09.2019
Размер:
7.98 Mб
Скачать

Применение служебных слов between, in, like.

BETWEEN определяет диапазон значений.

Пример: BE TWEEN 10 and 20

>=10 and<=20

IN задает используемый для сравнения список значений, разделенных запятой.

IN (5, 8, 9) <==> 5 OR 8 OR 9/

LIKE – используют при поиске образцов в текстовых полях. Используемые символы:

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

? – один любой символ;

[] – диапазон значений;

! – отрицание «не».

Пример: LIKE «?[а-к]d[0-9]» - в первой позиции – произвольный символ; вторая позиция буквы от а до к; в третьей позиции d; в четвертой – цифры от 0 до 9.

Сортировка данных в запросе

Записи в запросе (наборе Dynaset) могут быть рассортированы в алфавитном порядке или числовым способом в возрастающей или убывающей последовательности. Сортировку можно производить по содержимому нескольких полей. Для сортировки необходимо щелкнуть мышью в спецификации на ячейке Sort того поля, по которому необходимо произвести сортировку и указать способ сортировки: Ascending (По возрастанию) или Descending (По убыванию), который выбирают из списка, not sorteol– позволяет отказаться от сортировки.

Отсортированные поля группируются в левой части окна спецификациями.

Подавление индикации полей в запросе (Show)

В спецификации запроса можно при необходимости отключить индикацию поля в Dynaset. Можно отключить индикацию и того поля, по содержимому которого производится сортировка.

Для индикации используется строка Show (Вывод на экран) – наличие отметки.

Проведение вычислений.

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

Результат обработки появится в Dynaset.

Функция обработки задается в строке Total (Групповая операция), которая появляется после нажатия в пиктографическом меню кнопки с греческой литерой сигма. Функцию выбирают, развернув список возможных значений.

Вычисляемые поля в запросах.

При создании запроса можно добавить в бланк вычисляемые поля. Это временные поля, в которые заносятся результаты вычислений над значениями других полей. Например, у вас есть таблица с полями: Начало больничного, Конец больничного, необходимо вычислить количество дней пропуска по больничному листу без учета выходных. Для вычисления можно использовать арифметическое выражение [Конец больничного]-[Начало больничного]+1.

В Access при вычислениях используются поля числовых типов, текстовых, логических и типа даты/время.

При записи всех типов выражений имена таблиц и имена полей нужно:

заключать в квадратные скобки ([]), разделяя их точкой (.) или восклицательным знаком (!). имена таблиц можно не указывать, если в выражении используются имена полей одной таблицы или текущего запроса;

при записи выражений можно использовать знаки арифметических операций, операции &, логические операции.

При создании вычисляемого поля необходимо:

Установить курсор в строку Поле свободного столбца;

На панели инструментов нажать кнопку Построить, открыв окно построителя выражений;

Ввести имя создаваемого поля, обязательно завершив его двоеточием (:), и выражение. Если имя нового поля не введено, Access выражению при своит имя по умолчанию: Выражение1.

Рассмотрим примеры вычисляемых полей различных типов.

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

Возраст: (Date()-[Дата рождения])/365.

Выражение текстового типа. Для создания полного адреса в одном поле создадим выражение:

Адрес: [Индекс]&”, г.” & [Город] &”,” &”ул. ”& [Улица] &”,”& [Дом].

Для формирования фамилии с инициалами используется выражение:

ФИО: [Фамилия]&””& Left ([Имя],1)&”!”& Left ([Отчество],1) &”.”.

Здесь используются функция Left(Поле, n), которая позволяет выделить из текстового Поля n левых букв.

Создание итогового запроса

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

Итоговый запрос можно создать с помощью Мастера простого запроса или Конструктора.

Создание Итогового запроса с помощью Конструктора:

В режиме конструктора Запроса щелкнуть по кнопке «Групповые операции» на панели инструментов. В бланке Запроса появится строка Групповые операции.

Во всех полях автоматически устанавливается значение группировка.

Access предоставляет такие групповые операции:

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

Avq – вычисляет среднее арифметическое значений данного поля в каждой группе (для числовых и денежных полей);

Min (Max) – возвращает наименьшее (наибольшее) значение, найденное в этом поле внутри каждой группы (для числовых, денежных и текстовых полей);

Count – возвращает число записей, в которых данное поле имеет значение, отличное от Null. Для того чтобы подсчитать число записей каждой группы с учетом значения Null, надо ввести выражение Count(*) в строку поле, т.е. определить вычислимое поле (для числовых, текстовых, денежных полей, полей типа дата/время);

Stdev – подсчитывает статистическое стандартное отклонение для всех значений в каждой группе данного поля;

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

First – возвращает первое значение поля в группе;

Last – возвращает последнее значение поля в группе.

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

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

Если требуется в итоговый запрос включать не все записи, то следует организовать условие по некоторому полю. Для этого в строке Групповая операция поля надо выбрать значение Условие.

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

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

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

Вид – Таблица

Запрос - Выполнить

В пиктографическом меню щелкнуть кнопку с!

Access отобразит Dynaset в соответствии с заданными критериями.

Сохранение запроса

Чтобы не готовить проект запроса всякий раз заново, его следует сохранить.

Это рекомендуется делать для сложных запросов, в которых содержится много полей, критериев, вычислений. Сохраняется спецификация запроса, а не Dynaset.

Файл – Сохранить – Указать имя запроса – ОК.

Редактирование запроса

Для внесения изменений в запрос:

Маркировать в окне БД запрос

Щелкнуть на кнопке «Конструктор»

Откроется окно проектирования запроса.

Перенос поля в другую позицию: перетащить его мышью.

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

Удаление поля: маркировать его и нажать Del.

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

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

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

Этапы создания перекрестного запроса с помощью мастера:

В окне базы данных открыть раздел «Запросы».

Щелкнуть по кнопке «Создать».

В появившемся диалоговом окне «Создание запроса» выбрать «Перекрестный запрос».

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

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

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

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

В последнем окне можно указать имя запроса, просмотреть или изменить структуру запроса. Нажать кнопку «Готово».

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

Параметрический запрос

Чтобы иметь возможность многократно выполнять запрос, при выполнении изменяя условия отбора, необходимо добавить параметр. Для установления параметра в строку Условие отбора вместо обычного условия вводится в квадратных скобках текст-подсказка. Access размещенную в квадратные скобки информацию рассматривает как имя запроса.

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

Для проектирования параметрического запроса необходимо:

Разработать запрос выбора, включающий интересующие поля, установить критерии отбора.

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

Обращение в ячейке критериев записывается в квадратных скобках.

Запросы действия

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

запрос добавления;

запрос удаления;

запрос обновления;

запрос создания таблицы.

В окне БД Access устанавливает перед именем запроса действия восклицательный знак.

Запрос на добавление

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

В базе данных создать новый запрос с помощью конструктора запросов.

Добавить поля таблиц, необходимые для выполнения запроса.

Выполнить команду Запрос – Добавление.

Access добавит в зону спецификации запроса строку «Добавление», куда автоматически заносятся имена полей.

Выполнить запрос, нажав ! на панели инструментов.

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

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

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

Запрос на обновление

Запрос обновления – для изменения группы записей, отобранных на основе критерия.

Спроектировать запрос выбора.

Выполнить его.

Вернуться в режим проектирования.

Запрос – Обновление.

Access добавит в спецификацию запроса строку "Обновление". В строке задают новые значения.

Выполнить запрос, нажав! в строке пиктограмм, затем кнопку ОК.