как надо заполнить строку вывод на экран в бланке запроса конструктора
Как надо заполнить строку вывод на экран в бланке запроса конструктора
Одним из основных инструментов обработки данных в СУБД являются запросы. В Microsoft Access имеется удобное для пользователя графическое средство формирования запроса по образцу — QBE (Query By Example), с помощью которого легко может быть построен сложный запрос.
С помощью запроса можно выполнить следующие виды обработки данных:
Последовательное выполнение ряда запросов позволяет решать достаточно сложные задачи, не прибегая к программированию.
В Access может быть создано несколько видов запроса:
Окно запроса
Схема данных запроса
В окне запроса отображаются выбранные таблицы и связи между ними, имеющиеся в схеме данных базы. Связи для объединения, которые не может установить Access автоматически, может создать пользователь, перетащив задействованные в связи поля из одного списка полей в другой.
Бланк запроса по образцу
Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. До формирования запроса эта таблица пуста.
Каждый столбец бланка относится к одному полю, с которым нужно работать в запросе. Поля могут использоваться для включения их в результат выполнения запроса, для задания сортировки по ним, а также для задания условий отбора записей.
При заполнении бланка запроса необходимо:
Поля бланка запроса
Каждый столбец бланка запроса соответствует одному из полей таблиц, на которых строится запрос. Кроме того, здесь может размещаться вычисляемое поле, значение которого вычисляется на основе значений других полей.
Для включения нужных полей из таблиц в соответствующие столбцы запроса можно воспользоваться следующими приемами:
После завершения конструирования запроса, его можно открыть для просмотра. Форма просмотра запроса — табличная. Однако, это таблица виртуальная, т.е. формируемая в оперативной памяти при открытии запроса. Например, для окна конструктора, показанного выше, получим следующую таблицу:
Условия отбора записей
Литералом является значение, воспринимаемое буквально, а не как значение переменной или результат вычисления, например, число, строка, дата.
Константами являются не изменяющиеся значения, например, True, False, Да, Нет, Null (константы автоматически определяются в Access).
Текстовые значения в выражении вводятся в кавычках, если они содержат пробелы или знаки препинания. В противном случае кавычки можно не вводить, они будут добавлены автоматически.
Оператор Between позволяет задать интервал для числового значения. Например,
Between 10 And 100
задает интервал от 10 до 100.
Оператор In позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Например,
In («Математика», «Информатика», «История»)
Оператор Like позволяет использовать образцы, использующие символы шаблона, при поиске в текстовых полях. Например,
Условия отбора, заданные в одной строке, связываются с помощью логической операции «И», заданные в разных строках — с помощью логической операции «ИЛИ». Эти операции могут быть заданы явно в выражении условия отбора с помощью операторов AND и OR соответственно.
Сформировать условие отбора можно с помощью построителя выражений. Перейти в окно Построитель выражений можно, нажав кнопку Построить на панели инструментов, или выбрав команду Построить в контекстно-зависимом меню. Курсор мыши должен быть установлен в ячейке ввода условия отбора.
После ввода выражения в бланк и нажатия клавиши Enter Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.
MS Access. Работа с данными при помощи запросов
Основные типы запросов
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
Создание запросов в режиме конструктора
Для создания запросов по образцу используется режим конструктора. После определения таблиц (или запросов), на основе которых будет создаваться новый запрос, он будет открыт в режиме конструктора. Окно конструктора запросов состоит из двух частей.
В верхней части окна находятся списки полей тex таблиц или запросов, на основе которых строится данный запрос, в нижней части окна располагается бланк запроса.
Каждая строка бланка запроса выполняет определенную функцию:
Первым шагом построения запроса является выбор полей. Необходимые поля можно выбрать несколькими способами:
Иногда требуется включить в запрос все поля исходной таблицы. Для этого необходимо сделать двойной щелчок мышыо по строке заголовка соответствующего списка полей, выделяя таким образом сразу все поля, и перенести их одновременно в бланк запроса. При этом каждое поле будет помещено в отдельный столбец. Можно воспользоваться другим способом. В начале каждого списка полей, приведенных в верхней полонине окна, находится символ *, который означает «все поля». Для того чтобы включить в запрос все поля таблицы, можно просто перенести * в бланк запроса. В этом случае имя поля в бланке запроса будет содержать имя таблицы, за которым следует точка, а затем — символ * (например, Заказы.*), что означает выбор всех полей исходной таблицы.
У метода переноса * есть одно существенное достоинство. Если в структуре исходной таблицы производятся какие-либо изменения, например, добавляется новое поле, запрос будет автоматически изменен (при использовании первого способа запрос выбирает только те поля, которые были перенесены в бланк запроса. Однако если необходимо определить условие отбора, придется дополнительно добавить отдельные поля в бланк запроса, а чтобы они дважды не включались в выберу снять для соответствующих полей флажки Вывод на экран.
При выполнении запроса в качестве заголовков столбца динамической таблицы используются имена выбранных полей. Для переименования поля в результирующей динамической таблице необходимо установить текстовый курсор перед именем поля в строке Поле бланка запроса и ввести новое имя с двоеточием. В результате получится следующая конструкция: Новое имя: Старое имя поля.
Обычно Microsoft Access выводит записи в том порядке, в каком они выбираются из базы данных. Можно изменить последовательность вывода данных, определив ее порядок в строке Сортировка. При сортировке по нескольким полям порядок обработки полей определяется их положением в бланке запроса: сначала сортируются значения в крайнем левом поле и далее слева направо.
По умолчанию Microsoft Access выводит все поля, вклкюченные в бланк запроса. Если поле используется только для оп ределения условия выбора данных, для него необходимо снять флажок в строке Вывод на экран, щелкнув мышью в соотвествующей ячейке.
Выражение, которое указывает, какие записи необходимо включить в динамическую таблицу при выполнении запроса вводится в строку Условие отбора для поля, по которому это условие необходимо проверить. Для задания условий отбора можно использовать операторы меньше ( ), больше или равно (>=), не равно (<>), равно (=), Like (выбор по маске), Between (между), In (в интервале), And (и), Or (или) и другие, а также имена обьектов, константы и функции.
Завершение ввода условия выполняется нажатием клавиши Enter или просто переходом к другой ячейке бланка запроса с помощью клавиш управления курсором или мыши. Мicrosoft Access проводит синтаксический анализ заданного выражения. Например, если было введено значение текстового поля то это выражение будет представлено в кавычках. Если выражение не содержит никакого оператора, Microsoft Access будет исходить из того, что подразумевается оператор = или Like.
Допускается использование нескольких условий отбора, которые можно задать как для разных полей, так и для одного поля. Для создания сложных условий выбора данных используются логические операторы And и Or. Если условия отбора связаны оператором And, запись выбирается только в случае выполнения всех условий. Если же условия отбора связаны оператором Or, запись выбирается при выполнении хотя бы одного из всех условий. При определении нескольких условий отбора, связанных оператором And, для различных полей необходимо просто задать условие в строке Условие отбора для каждого из полей, образующих критерий выбора данных. Если же при определении нескольких условий поместить их в различные строки — строку Условие отбора и строку или — Microsoft Acces будет использовать Or-связь. В результате условия, расположенные в одной строке, связываются оператором And, в разных строках — оператором Or.
Таким образом, при создании запросов на выборку в режиме конструктора можно выделить следующие этапы:
При создании параметрического запроса прежде всею формируется обычный запрос на выборку. В ячейку строкиусловие отбора для заданного поля вводится необходимый оператор и имя параметра, заключенное в квадратные скобки. Это имя выводится в диалоговом окне при выполнении запроса, поэтому в качестве имени параметра удобно использовать какую-либо содержательную фразу или приглашение на ввод данных. В одном запросе можно установить несколько параметров, однако каждый параметр должен иметь уникально содержательное имя.
Дополнительно, выполнив команду Запрос / Параметры, в диалоговом окне Параметры запроса можно перечислить имена всех параметров, используемых в запросе, и для каждого параметра определить тип данных. Следует иметь в виду, что текст, введенный в качестве имени параметра в бланке запрос должен в точности соответствовать тексту, введенному в диалоговое окно Параметры запроса при определении типа данных параметров. В противном случае Microsoft Access воспринимает их как два разных параметра. При удалении параметра из бланка запроса необходимо удалить его и из диалогового окна Параметры запроса.
При формировании условия отбора в запросах могут использоваться:
Подстановочные символы:
Бланк запроса по образцу
Схема данных запроса
Окно запроса
Окно конструктора запросов разделено на две панели. Верхняя панель содержит схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Нижняя панель является бланком запроса по образцу, который нужно заполнить.
В окне запроса отображаются выбранные таблицы и связи между ними, имеющиеся в схеме данных базы. Связи для объединения, которые не может установить Access автоматически, может создать пользователь, перетащив задействованные в связи поля из одного списка полей в другой.
Бланк запроса по образцу представлен в виде таблицы в нижней панели окна запроса. До формирования запроса эта таблица пуста.
Каждый столбец бланка относится к одному полю, с которым нужно работать в запросе. Поля могут использоваться для включения их в результат выполнения запроса, для задания сортировки по ним, а также для задания условий отбора записей.
При заполнении бланка запроса необходимо:
Создание простого запроса на выборку в режиме Конструктор
Рис. 1. Пиктограммы для выбора режима создания запросов
Создание простого запроса на выборку в режиме Конструктор
Предположим, что необходимо сформировать список сотрудников предприятия с указанием их должности, основного оклада и надбавки за стаж работы. Совершенно понятно, что интересующие нас данные находятся в разных таблицах, следовательно, выборку будем осуществлять из связанных таблиц. Для выполнения поставленной задачи необходимо выполнить следующие шаги:
1. Щёлкнуть по пиктограмме «Конструктор запросов». В результате открывается пустое окно Конструктор запросов и диалоговое окно «Добавление таблицы» (Рис. 2).
Рис. 2. Диалоговое окно для добавления необходимых таблиц на поле запросов
2. Выберите название необходимой таблицы и нажмите на кнопку , если требуется несколько таблиц для выборки данных, то повторите эту операцию (для выполнения поставленной задачи, понадобятся таблицы «Личные сведения», «Надбавки за стаж» и «Номенклатура должностей»). По окончанию переноса таблиц нажмите на кнопку
. Обратите внимание, на поле
отобразятся все интересующие нас таблицы, как показано на рисунке 3. В нижней части окна находится бланк запроса, служащий для определения параметров запроса.
3. Заполните бланк запроса, для этого в бланке запроса необходимо указать наименование поля таблицы, из которой это поле выбирают. Подведите указатель мыши к необходимому названию поля в таблице, и дважды щёлкните левой кнопкой мыши. Можно выбрать имя необходимого поля из списка, раскрыв его с помощью . На рисунке 68 показан раскрывающийся список доступных полей из всех таблиц. Как видите, в списке находятся имя таблицы и имя поля, после того, как будет выбрана необходимая строка, в бланке запроса появится в первой строке имя поля, а во второй – имя таблицы. На бланке запроса в строке под наименованием «Вывод на экран» установлен знак
, в отдельных случаях можно снять эту пометку, тогда данные из этого поля будут обрабатываться в запросе, но на экране мы их не увидим.
Рис. 3. Пример заполнения бланка запроса
Рис. 4. Диалоговое окно «Параметры объединения»
Обратите внимание, что в окне связь между таблицами получила изображение в виде линии со стрелкой на конце.
5. Присвойте имя запросу, нажмите в правом верхнем углу , в появившемся сообщении (Рис. 5), нажмите на кнопку
, затем в диалоговом окне присвойте имя запросу (например, Оклады и надбавки).
Рис. 5. Предложение системы по сохранению запроса
В области объектов базы данных в разделе «Запросы» появится новая запись , щёлкните по ней дважды левой кнопкой мыши, после чего будет сформирован ответ системы (Рис. 6) с выборкой данных из трёх таблиц. Как видите, результаты запросов отображаются в виде таблицы с заданными наименованиями полей. Особенностью такой таблицы является то, что ни одно значение данного исправить невозможно.
Рис. 6. Результаты выполненного запроса на выборку
Таблица с результатами по сформированному запросу на выборку данных содержит записи всех сотрудников организации (Рис. 6). Для пользователя неудобно просматривать данные, если они никак не упорядочены. Это следует иметь в виду при формировании запроса. Рекомендуем в бланке запроса (Рис. 3) использовать строку с наименованием «Сортировка». Например, можно выстроить список сотрудников по надбавкам за стаж от минимальной величины до максимального значения. Для этого в столбце с полем «Надбавка» раскрыть список символом , а затем выбрать строку с командой
. Пользователь, в свою очередь, запустив запрос, может провести упорядочивание данных внутри таблицы с результатами запросов или воспользоваться фильтрацией данных.
Например, пользователя интересуют только женщины, которые получают надбавку за стаж, тогда при использовании фильтра, следует выполнить следующие действия:
1. Раскрыть в поле «Фамилии» список символом .
2. Выбрать строку , и раскрыть её.
3. Выбрать строку с наименованием , нажать на кнопку
.
4. В диалоговое окно «Настраиваемый фильтр» ввести «ова» (Рис. 7).
Рис. 7. Пример использования текстового фильтра в таблице запроса
Для того, чтобы восстановить таблицу запроса, нажмите на символ — Удалить фильтр или работайте правой кнопкой мыши в таблице запроса.
Знания в формате 4 и 5
Меню навигации
Пользовательские ссылки
Информация о пользователе
Вы здесь » Знания в формате 4 и 5 » 11 класс (Семакин И.Г.) » П/р № 3.11. Реализация простых запросов с помощью конструктора
П/р № 3.11. Реализация простых запросов с помощью конструктора
Сообщений 1 страница 1 из 1
Поделиться12013-01-29 09:42:50
Цель работы: освоение приемов реализации запросов на выборку с помощью конструктора запросов Microsoft Access.
Используемое программное обеспечение: Microsoft Access.
Основные понятия
Конструктор запросов — высокоуровневое средство формирования запросов в СУБД Access, который можно рассматривать как пользовательскую оболочку к языку запросов SQL. Для формирования запроса в конструкторе используется табличная форма.
Окно конструктора запросов представлено на рисунке.
Поле схемы запроса — верхняя часть окна конструктора запросов, куда помещаются схемы таблиц, данные из которых используются в запросе.
Бланк запроса — таблица в нижней части окна. Столбцы относятся к полям, участвующим в формировании запроса. В первой строке указываются имена всех этих полей. Вторая строка — имя таблицы, из которой извлекается соответствующее поле. Третья строка — признак сортировки. Используется лишь для ключей сортировки. Флажки в пятой строке отмечают признак вывода данного поля на экран при выполнении запроса. В следующих строках формируется условие отбора.
Построить и выполнить запрос к базе данных «Приемная комиссия»: получить список всех экзаменов на всех факультетах. Список отсортировать в алфавитном порядке названий факультетов.
Для его выполнения достаточно одной таблицы ФАКУЛЬТЕТЫ. Команда (на гипотетическом языке) для такого запроса имеет вид:
.выбрать ФАКУЛЬТЕТ, ЭКЗАМЕН_1, ЭКЗАМЕН_2, 3K3AMEH_3 сортировать ФАКУЛЬТЕТ по возрастанию
1. Перейти к работе с конструктором запросов:
=> открыть вкладку Запросы;
=> выполнить команду Создать;
=> в открывшемся окне Новый запрос выбрать Конструктор, щелкнуть на кнопке ОК.
2. В поле схемы запроса поместить таблицу ФАКУЛЬТЕТЫ. Для этого в окне Добавление таблицы, вкладке Таблицы выбрать название таблицы Факультеты, щелкнуть на кнопках Добавить и Закрыть.
3. Заполнить бланк запроса: внести в бланк данные, показанные на рисунке выше.
4. Выполнить запрос — команда Запрос Запуск. На экране появится таблица следующего вида:
5. Сохранить запрос: выполнить команду Запрос —> Сохранить; в диалоговом окне, запрашивающем имя запроса, ввести «Список экзаменов» и подтвердить сохранение.
6. Сменить заголовки граф запроса.
Пояснение. Заголовками граф полученной ранее таблицы являются имена полей. Это может не устраивать пользователя. Имеется возможность замены их на любые другие надписи, при этом имена полей в БД не изменятся. Делается это через параметры Свойства поля для полей соответствующей таблицы. Для этого нужно снова открыть конструктор для таблицы ФАКУЛЬТЕТЫ. В списке свойств каждого поля добавить в строке «Подпись» соответствующий текст. Например, в поле ФАКУЛЬТЕТ сделать подпись «Факультеты». В поле ЭКЗАМЕН_1 ввести подпись «1-й экзамен» и т. д. После этого, вернуться к запросу «Список экзаменов». Выполнив команду Открыть, получим таблицу с результатом запроса, которая от предыдущей таблицы отличается лишь заголовками:
Требуется вывести список всех специальностей с указанием факультета и плана приема. Отсортировать список в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
Пояснение. Напомним, что в таком случае сортировка сначала происходит по первому ключу и, в случае совпадения у нескольких записей его значения, они упорядочиваются по второму ключу. Для выполнения этого запроса потребуются две таблицы: ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ.
Команда для данного запроса на гипотетическом языке будет следующей:
.выбор ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТИ. СПЕЦИАЛЬНОСТЬ, СПЕЦИАЛЬНОСТИ.ПЛАН сортировать ФАКУЛЬТЕТЫ.
ФАКУЛЬТЕТ по возрастанию, СПЕЦИАЛЬНОСТИ. СПЕЦИАЛЬНОСТЬ по возрастанию
Здесь использованы составные имена полей, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
1. Построить запрос в конструкторе запросов в виде, показанном на рисунке.
2. Исполнить запрос. В результате должна получиться следующая таблица:
Обратить внимание на надписи к графам этой таблицы. Выполнить необходимые действия для приведения надписей к такому виду.