Условия отбора записей в запросах.
Условия отбора для полей запроса задаются в одноименной строке. Если условия в этой строке определены для нескольких полей, то они связаны логической функцией «И». Если условия отбора разных полей определены в разных строках: «Условие отбора» и «Или», то такие условия связаны логической функцией «ИЛИ». Запрос может иметь сложный критерий, в соответствии с которым для полей определены условия отбора в обеих строках.
Условие отбора записей – это набор предопределенных в Access и устанавливаемых в запросе пользователем правил. При построении критерия (условия) отбора в запросах могут использоваться выражения, операторы и функции MS Access.
Оператор Between позволяет задать интервал для числового значения, например: Between 300 And 500
Оператор IN позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках, например: IN (3187,3189) или IN("Москва","Санкт-Петербург","Рязань")
Оператор Like позволяет использовать образцы и символы шаблона при поиске данных, например: Like "Михайлов" или Like "М*"
Допускается использование в литералах символов шаблона * , ?, #, [список], [!список].
? – в позиции шаблона может быть любой символ: (0 – 9), (Aa – Zz), (Аа – Яя);
* - любое количество символов;
# - в позиции может быть любая цифра;
[список] – в позиции может быть любой символ из списка;
[!список] – в позиции может быть любой символ за исключением символов из списка.
При написании шаблон заключается в двойные кавычки.
Примеры:
Like «А*» – в поле ФАМИЛИЯ все фамилии, начинающиеся на А.
Like «*/1/99» – в поле ДАТА – все записи за январь 2007г.
Like «[ABC]*» – в поле ИМЯ – любое имя, начинающееся с указанных букв.
Технология объекта запроса «на действия»
Выполнение запроса - действия приводит к изменению содержимого базы данных. При выполнении таких запросов следует быть осторожным, так как необдуманное применение этих запросов может привести к необратимой утрате информации в базе данных. Поэтому MS Access автоматически помечает в окне базы данных запросы - действия символом «!».
При создании запроса MS Access по умолчанию создает запрос на выборку. При необходимости с помощью команд конструктора запросов можно указать другой тип запроса.
Существует 4 типа запросов на изменение:
- запрос на добавление;
- запрос на обновление;
- запрос на удаление;
- запрос на создание таблицы.
Запрос на добавление позволяет добавлять записи в указанную таблицу, не только текущей базы данных, но и любой другой базы данных. Структура записи таблицы-запроса необязательно должна совпадать со структурой таблицы, в которую будут добавляться записи. Например, в записи запроса может быть меньше полей, если на поля принимающей таблице не наложено требование обязательности их заполнения. Допускается несоответствие типов полей, если возможно преобразование типа данных одного поля в тип данных другого поля.
Для создания запроса необходимо выполнить следующие действия:
- создать запрос на выборку и отладить его (добавить таблицы, значения полей которых будут использоваться для добавления записей);
- отменить свойство «Вывод на экран» для полей запроса;
- выполнить команду Запрос/Добавление – для преобразования в запрос на добавление. При этом в бланке запроса появляется строка Добавление. Далее необходимо включить в бланк запроса поля, данные, которых будут добавляться в принимающую таблицу. Можно ввести также условия отбора записей для добавления.
- указать имя таблицы, куда будут добавляться записи;
- выполнить команду Запрос/Запуск.
Если принимающая таблица содержит ключевое поле, то и добавляемые записи должны иметь такое же ключевое поле (по условиям целостности БД).
Технология создания других типов запросов - действий аналогична.
Запрос на обновление позволяет изменить группу записей, отобранную на основе критериев отбора. В запросе на обновление можно указать одно или несколько полей, сделав нужные установки в строке «Обновление». Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение. После выполнения открывается диалоговое окно с сообщением о числе обновленных записей.
Пример запроса на обновление - изменение стоимости обучения по заданным номерам специальностей приведен на (Рис10.).
Рис. 18 Бланк запроса на обновление
Запрос на удаление позволяет удалять записи из одной или нескольких таблиц одновременно (Рис. 11.).
Запрос на удаление удаляет записи таблицы, удовлетворяющие критериям отбора, целиком, поэтому если требуется удалить значения отдельных полей записи, следует создать запрос на обновление.
В процессе выполнения этого запроса MS Access отображает данные, которые будут удалены. Для того, чтобы иметь возможность просматривать все поля удаляемых записей, следует перетащить мышью из первой строки списка полей таблицы, записи, которой требуется удалить, символ "*" в первую строку бланка запроса, в первый свободный столбец. При этом в этом столбце в строке Поле появится имя таблицы, а в строке с именем Удаление - значение Из.
Рис. 19 Бланк запроса на удаление
Запрос на создание таблицы осуществляет создание новой таблицы на основе динамического набора данных. В новой таблице сохраняются имена, типы данных и размеры полей такими, какими они были в базовых таблицах запроса. Другие свойства полей не наследуются.