|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Создание запросовБольшинство СУБД разрешают использовать запросы следующих типов: - запрос-выборка, предназначенный для отбора данных, хранящихся в таблицах, и не изменяющий эти данные; - запрос-изменение, предназначенный для изменения или перемещения данных. К этому типу запросов относятся: запрос на добавление записей, запрос на удаление записей, запрос на создание таблицы, запрос на обновление; - запрос с параметром, позволяющий определить одно или несколько условий отбора во время выполнения запроса. Запрос на выборку используется наиболее часто. При его выполнении данные, удовлетворяющие условиям отбора, выбираются из одной или из нескольких таблиц и выводятся в определенном порядке. Следует отметить, что простые запросы на выборку практически не отличаются от фильтров. Более того, фильтры можно сохранять как запросы. Можно также использовать запрос на выборку, чтобы сгруппировать записи для вычисления сумм, средних значений, пересчета и других действий. Результатом выполнения запросов являются динамические таблицы. По форме они могут быть двух видов: 1) таблицы, структура которых соответствует исходной таблице (таблицам) БД; 2) таблицы, структура которых отличается от исходной таблицы (таблиц) БД, — так называемые кросс-таблицы. Структура кросс-таблицы отличается от структуры исходной таблицы БД тем, что заголовками столбцов в такой таблице являются не имена, а значения выбранных полей. Такие таблицы формируются с помощью особых видов запросов — перекрестных запросов. Перекрестные запросы — это запросы, которые применяются для выбора информации с одновременным группированием данных по значениям отдельных полей. Запрос-выборка. Для создания нового запроса-выборки надо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке Создать. После этого откроется окно Новый запрос (рис. 3.32). Рис. 3.32. Окно создания запросов. Конструктор позволяет самостоятельно создать любой тип запроса. Для этого необходимо: 1) открыть Конструктор запросов; 2) В открывшемся окне Добавление таблицы выбрать таблицу или таблицы, на основе которых составляется запрос. При этом в окне конструктора появится таблица с именами полей. 3) После ввода таблицы (таблиц) щелкнуть по кнопке Закрыть. 4) Переместить необходимые для запроса поля таблицы в поля окна Конструктор запросов (рис. 3.33). 5) Установить порядок сортировки записей по значениям каких-либо полей (например, сортировать записи в алфавитном порядке по полю ФИО). 6) Определить необходимость вывода на экран значений полей. Если «Да», то щелкнуть мышью по квадратику в строке «Вывод на экран». 7) Ввести в строку «Условие отбора» соответствующие значения полей, по которым производится отбор данных из таблиц. Условием отбора является выражение, которое состоит из операторов сравнения и сравниваемых операторов (рис. 3.33).
Рис. 3.33. Создание запросов с помощью конструктора. При задании условий отбора данных необходимо соблюдать следующие правила. 1) Перед вводом значения текстового (символьного) поля должен стоять знак «=». 2) Вводимая строка символов должна быть заключена в кавычки. Данное правило, если вы забыли его соблюсти, Аccess выполнит сам. 3) Математические условия выборки определяются известными операторами сравнения (=, <, >, <=, >=). Кроме этих операторов могут применяться операторы сравнения BETWEEN, IN, LIKE и логические операторы OR, AND, NOT. 4) При составлении условий выборки по полям Дата/Время могут применяться условия (функции), которые при составлении запроса вводятся как вычисляемые поля. 5) Если условие отбора не содержит оператора, то по умолчанию используется оператор =. 6) В качестве операндов могут использоваться литералы, константы и идентификаторы (ссылки). Литералом является значение, воспринимаемое буквально, а не как значение переменной или результат вычисления (например, число, строка, дата). Константами являются не изменяющиеся значения (например, Да, Нет). Идентификатор представляет собой ссылку на значение поля, элемент управления или свойство. Идентификаторами могут быть, например, имена полей, таблиц, запросов, форм, отчетов, которые должны заключаться в квадратные скобки. Если необходимо указать ссылку на поле в конкретной таблице (форме, отчете), то перед именем поля ставится имя таблицы, заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например: [Имя таблицы]![Имя поля] 7) Условия отбора, заданные в одной строке, связываются с помощью логической операции И, а заданные в разных строках - с помощью логической операции ИЛИ. Эти операции могут быть заданы явно в условии отбора с помощью операторов АND и ОR соответственно. 8) Сформировать условие отбора можно с помощью Построителя выражения. Перейти в окно Построитель выражений можно, нажав кнопку Построитель на панели инструментов или выбрав команду Построить в контекстном меню. При этом курсор мыши должен быть установлен в ячейке ввода условия отбора. После ввода выражения в бланк и нажатия клавиши Enter Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа. Ввод условий отбора данных непосредственно в строки Конструктора запросов рекомендуется при конструировании постоянных запросов. При конструировании параметрических запросов ввод условий отбора данных рекомендуется производить через формы. В процессе конструирования запроса можно производить проверку его выполнения, для этого щелкните мышью по кнопке Выполнение запроса на панели инструментов. По окончании конструирования запроса его необходимо закрыть, при этом откроется диалоговое окно, в котором будет предложено задать имя запросу. Простой запрос позволяет создать с помощью Мастера запрос на выборку из определенных полей таблиц или других запросов. (Это наилучший способ создания запроса для начинающих пользователей.) Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос выполняет статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой заголовки строк. При выборе пункта Повторяющиеся записи будет создан запрос на поиск повторяющихся записей в простой таблице или в запросе, а при выборе пункта Записи без подчиненных - запрос на поиск записей, которым не соответствует ни одна запись в подчиненной таблице. Такой запрос используется для многотабличных баз данных. Запрос с параметрами - запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Для создания запросов существует специальный язык SQL. Но, работая с Access, можно не изучать этот язык, т.к. в программе существует бланк запроса по образцу. Задание параметров производится в строке Условия отбора для соответствующих полей. Для создания запроса с параметром команду LIKE [параметр] надо поместить в строке Условие отбора в том поле, по которому производиться выбор. Затем надо описать параметр. Для этого из меню выбрать Запрос – Параметры и в открывшемся окне записать параметр (т.е. имя поля) и его тип. Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Эти запросы предназначены для разработчиков баз данных, т.к. позволяют автоматически создавать новые таблицы или изменять уже имеющиеся. Для доступа к запросам на изменение надо открыть пункт меню Запрос - в открывшемся списке вы увидите все виды запросов на изменение. Существует четыре типа запросов на изменение. 1. На удаление записи. Запрос на удаление удаляет группу записей из одной или нескольких таблиц. Например, запрос на удаление позволяет удалить записи о товарах, поставки которых прекращены или на которые нет заказов. С помощью запроса на удаление удаляется вся запись. 2. На обновление записи. Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц. Например, на 10 процентов поднимаются цены на какую-либо категорию продукции или на 5 процентов увеличивается зарплата сотрудников определенной категории. Запрос на обновление записей позволяет изменять данные в существующих таблицах. 3. На добавление записей. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец другой таблицы или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них. 4. На создание таблицы. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создания архивной таблицы, содержащей старые записи. Для создания запросов на изменение необходимо открыть запрос на выборку в режиме Конструктора, и с помощью команды Запрос на панели инструментов Конструктора запросов выбрать необходимое действие. При сохранении запроса остается только структура запроса - перечень таблиц, список полей, порядок сортировки, ограничения на записи, тип запроса и т.д. При сохранении в базе данных запрос, по сравнению с результирующим набором данных, имеет ряд преимуществ. На физическом носителе информации (обычно это жесткий диск) требуется меньший объем пространства. Запрос может использовать обновленные версии любых записей, измененных со времени последнего запуска запроса. При каждом выполнении запрос обращается к базовым таблицам и снова создает результирующий набор данных. Поскольку сам по себе результирующий набор данных не сохраняется, запрос автоматически отображает любые изменения, происшедшие в базовых таблицах с момента последнего запуска этого запроса (даже в реальном времени в многопользовательской среде). Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |