3. Тема ЗАПРОСЫ 3.1 Простые запросы Если ТАБЛИЦА ACCESS - это хранилище данных на диске( *.mdb файл ), то ЗАПРОС - это главное средство для построения выборок Выборка - это группа записей исходной таблицы , значения одного или нескольких полей которой соответствуют определенному условию. Опр! В большинстве информационных задач формирование выборки из большого массива записей является конечной целью. а) Существуют несколько видов запросов Все запросы делятся на 2 большие группы I. ЗАПРОСЫ-ВЫБОРКИ Запросы-выборки являют наиболее часто используемы ми Виды запросов-выборок: - простой запрос - параметрический - итоговый - перекрестный II. ЗАПРОСЫ-ДЕЙСТВИЯ ЗАПРОС - ДЕЙСТВИЕ - позволяет выполнять Редактирование большой группы данных в таблицах базы. Существуют запросы-действия : - на создание новой таблицы на основе существующих таблиц - на удаление записей - на добавление записей - на изменение группы записей Б) Создание запроса Создать запрос можно как с помощью МАСТЕРА , так и вручную в режиме КОНСТРУКТОРА. МАСТЕР-это специальная программа , которая задает вам серию вопросов и по вашим ответам на них строит запрос. КОНСТРУКТОР - это режим построения структуры запроса вручную. 1-й шаг - Выбор ИСТОЧНИКА запроса. В качестве источника может использоваться одна или несколько таблиц ACCESS либо другие запросы. У каждого запроса должен быть источник данных 2-й шаг - Надо задать ПОЛЯ запроса. Их берут либо из ИСТОЧНИКА либо вычисляют. ( О вычисляемых полях см. ниже) В отличие от фильтра ЗАПРОС позволяет только строки, но и столбцы 3-й шаг - отобрать из источника не Задание условий формирования выборки В строке условие отбора для определенного поля надо записать логическое выражение. При построении запроса в выборку попадут только те строки , значение данного поля в которых соответствует этому условию 4-й шаг запроса , При необходимости можно задать сортировку по любому столбцу отключить вывод поля на экран Последнее – Выполнить запрос Режим таблицы нажав кнопку в левом верхнем углу – в) Вычисляемые поля Если какие то данные отсутствуют в источнике , то их можно вычислить и он появятся в запросе. Например , таблица источник хранит цену и количество купленного товара . Стоимость покупки можно вычислить , перемножив цену на количество. Для создания вычисляемого поля , в строке ПОЛЕ нижней части бланка запроса надо написать выражение следующего вида : ПОДПИСЬ : расчетное выражение в котором можно использовать имена полей источника , знаки арифметических и логических операций Visual Basica + * / - умножить разделить ^ - возвести в степень () - скобки различные функции , аргументами которых должны служить поля источника запроса Вот некоторые(популярные) функции: Year (дата) – возвращает год по полной дате Mont (дата) – возвращает номер месяца Day (дата) - возвращает дату в виде числа Left$(текст;кол.симв.) – копирует заданное колчество символов от левого края текста Val (“строка счислом”)- преобразует строку в число Например : Year (#27/01/2001#) Month(#27/01/2001#) Day (#27/01/2001#) Left$(“11-а”) Val (“11”) – – – - результат результат результат результат результат 2001 1 27 “11” 11 строка число г) Правила составления логических выражений в запросах Логическое выражение состоит из знака Операция сравнения Например : > и значения 25 Содержимое поля для которого записано это выражение сравнивается со значением. Операции сравнения : = - сравнение на равенство (пример =50 содержимое поля сравнивается с 50 на равенство ) <> < > <= >= - на неравенство содержимое поля меньше значения содержимое поля больше значения меньше или равно больше или равно Сложные условия Несколько простых операций сравнения можно объединить с помощью логических операций : And OR And – используется когда объединяемые условия должны выполняться одновременно Пример: проверка принадлежности диапазону >= 10 and <= 50 От 10 до 50 OR - используется когда должно выполняться хотя бы одно из проверяемых условий. Пример : < 2 or > 30 Дополнительные возможности проверки условий Проверка на принадлежность диапазону between 50 and 100 Проверка на принадлежность списку "Белоруссия") IN("Россия" ; "Украина" ; Сравнение с шаблоном LIKE “Про*” Допустимые символы шаблона LIKE ? - одиночный символ * - любое число произвольных символов # - любая цифра [] - список допустимых символов в позиции [! ] - кроме перечисленных символов в позиции Примеры : ,Пронин) LIKE “Про*” все фамилии , начинающиеся на “Про” (Прокопенко LIKE “Про???” Пронин) все 6(шести) буквенные фамилии на “Про” (только д) Хранение ЗАПРОСА Запрос ACСESS можно увидеть в 3-х формах : - КОНСТРУКТОРА - ТАБЛИЦЫ - И SQL выражения ЗАПРОС - это команда языка SQL ( Structure Query Lenguage) В результате исполнения этой команды получается таблица-ВЫБОРКА Запрос в файле занимает минимальное место – это всего лишь строка в файле При обращении к запросу ACCESS исполняет соответствующую команду SQL и на экране появляется таблица с выбранными данными. Эти данные являются копией данных , хранящихся в таблицеитсочнике. Таблица с выбранными данными( копией ) хранится в ОЗУ. .mdb ВАЖНО !!! Данные в запросах можно РЕДАКТИРОВАТЬ так же как и в исходной таблице( изменять , удалять , добавлять ). При этом результаты редактирования сохранятся в исходных таблицах. Ограничение на редактирование - нельзя редактировать вычисляемые поля !!!