Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Создание и использование запроса




Что такое запрос? В спроектированной нами таблице Учащиеся содержится вся информация, необходимая для решения поставленной нами задачи. Но как этой информацией пользоваться? Как узнать, например, сколько человек учится в 4А классе или у скольких учащихся день рождения в апреле? Не сидеть же перед компьютером с калькулятором, ручкой и бумагой! Решить эту проблему поможет запрос.

В общем случае запрос — это вопрос о данных. Существуют разные типы запросов (на выборку, запрос с параметрами, перекрестные запросы, запрос на изменение таблицы, запросы SQL).

Запрос-выборка в MS Access. Простейший из запросов — запрос-выборка — это производная таблица, которая содержит те же структурные элементы, что и обычная таблица (столбцы-поля и строки), и формируется на основе фактических данных базы данных. Запрос на выборку отбирает данные из одной или более таблиц по заданным условиям, а затем отображает их в нужном порядке. Запрос можно создать с помощью мастера или самостоятельно в режиме конструктора, выбрав таблицы или запросы, содержащие нужные данные, и заполнив бланк запроса.

При создании макета запроса (т.е. производной таблицы) в общем случае нам необходимо выполнить следующие базовые операции:

· указать системе, какие поля и из каких таблиц мы хотим включить в запрос;

· описать вычисляемые поля, т.е. поля, значения которых являются функциями значений существующих полей (например, средняя успеваемость — это среднее арифметическое значение всех оценок);

· описать групповые операции над записями исходных таблиц (напри мер, нужно ли объединить группу записей и указать условие отбора (мальчики из 5 Б класса) в одну и просуммировать значение их роста для расчета среднего значения роста учащихся класса).

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

Создание запроса-выборки. В общем случае для создания произвольного запроса используется универсальный язык SQL. В предложении этого языка (Select — Выбрать) можно описать все базовые операции: какие поля и откуда выбрать, какие вычислить, как их сгруппировать (просуммировать, пересчитать, найти среднее и т.п.) и при каких условиях включить записи в выборку. Однако в реальности пользоваться этим языком могут только специалисты (или очень грамотные пользователи).

А для обычных людей разработчики придумали упрощенный механизм создания запроса, называемый QBE (Query By Example — запрос по образцу). Вам предлагают бланк QBE — некую модель, заготовку запроса, и на этом бланке, пользуясь определенными правилами, вы сообщаете системе о своих планах: помечаете поля, вводите выражения, значения и т.п. На основании заполненного вами бланка система сама создает соответствующее предложение Select и сама выполняет его.

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

Для создания запроса выберите в окне базы данных Группа значок Запросы в списке Объекты и нажмите кнопку Создать на панели инстру­ментов. В диалоговом окне Новый запрос выберите мастера Простой запрос и нажмите кнопку ОК.

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

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

Следуя инструкциям Мастера, выберем вариант подробный отчет и щелкнем кнопку Далее. В последнем диалоговом окне зададим имя запроса Запрос! и запустим полученный запрос, выбрав вариант Открыть запрос для просмотра данных и щелкнув кнопку Готово.

Выбрав команду Режим SQL в меню Вид, мы можем увидеть текст созданного запроса на языке SQL:

SELECT [Учащиеся]. [Фамилия], [Учащиеся].[Имя], [Учащиеся].[Отчество], [Учащиеся].[Пол|, [Учащиеся].[Дата рождения], [Учащиеся]. [Домашний адрес], [Учащиеся]. [Класс]

FROM Учащиеся;

Как видно из текста, в запросе на языке SQL записана команда выбора из таблицы Учащиеся и описан порядок размещения полей таблицы в таблице-результате действия запроса.

Примечание. Для получения подробной справки о создании запроса вызовите справочную систему Access и на вкладке Мастер ответов задайте текст вопроса «Создание запроса». Затем в списке найденных разделов выберите раздел Создание запроса и изучите справочную информацию в правой части окна справки.

Если получился не тот запрос, который был нужен, можно снова запустить мастера или изменить этот запрос в режиме конструктора. Откроем созданный запрос в режиме Конструктор. В верхней части окна Access с запросом в режиме Конструктора окна показана схема данных выбранных таблиц с указанием связей и имен всех полей, в данном случае таблица Учащиеся. В нижней части окна размещается бланк QBE, который представляет собой макет некоей таблицы. Столбцы этой таблицы соответствуют полям создаваемого запроса, а число строк переменно и зависит от состояния флажков «Имена таблиц» и «Групповые операции» (на панели инструментов или в пункте Вид). В строке Поле: указываются имена столбцов (полей) создаваемого запроса. Существующее имя можно выбрать из раскрывающегося списка (щелкнув мышью на поле) или просто перенести в ячейку Поле: методом «Drag-and-Drop» из таблицы Учащиеся в верхней части окна запроса. В первом столбце мы разместили поле Фамилия, во втором — Имя и т.д. В ячейке Имя таблицы: (она появляется в бланке, если установлен флажок «Имена таблиц») отображается имя таблицы, которая содержит выбранное поле (таблица Учащиеся).

Если бы в строке Поле: размещалось вычисляемое поле, тогда в ячейке этой строки нужно было бы ввести формулу: <Имя поля >:< Выражение >

Например: Стоимость: [Количество]*[Цена]

Встроке Сортировка: можно указать порядок вывода на экран записей (по возрастанию, по убыванию).

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

Если бы мы собирались проводить в запросе групповые операции (т.е. объединять записи в группы), нужно было бы включить флажок «Групповые операции» — появляется строка Групповая операция: После щелчка на любом поле этой строки появится список типов групповых операций: Группировка, Sum, Avg, Count, Выражение и др.

Например, если в качестве типа групповой операции в столбце указать Count (Сосчитать), то получим количество записей, соответствующих запросу в этой группе.

В строках Условие отбора: и или: можно указать условные или логические выражения, которые позволят нам отобрать для запроса только записи, удовлетворяющие заданному условию. Обратите внимание на следующие соглашения, предусмотренные в Access.

1. Условные выражения, набранные в разных столбцах строки Условие отбора, по умолчанию соединяются между собой знаком AND. Например, если соседние столбцы имеют имена Пол и Класс и вы набрали в них =True и =5Б, то тем самым вы сформулировали логическое выражение: Пол = True и Класс = 5Б.

2. Условные выражения, набранные в соседних строках одного и того же столбца, соединяются между собой знаком OR. Например, если столбец имеет имя Класс, и мы набрали в строке Условие отбора: = 4А, а в строке или: =5А, то тем самым мы сформулировали логическое выражение: [Класс] = 4А Оr [Класс] = 5А.

Изменим запрос, добавив условие отбора только тех учащихся, которые не имеют мужской пол. Для этого установим курсор в столбце Пол на строке Условие отбора и, щелкнув правую кнопку мыши, вызовем контекстное меню, а в меню выберем команду Построить. В списке папок построителя выражений, щелкнув папку Запрос 1, раскроем список полей. Дважды щелкнув поле Пол, включим это поле в область выражений. Щелкнув оператор «=», включим его в выражение.

Выбрав папку Константы, в списке констант дважды щелкнем на значении «Ложь». Щелкнув ОК, завершим построение логического выражения.

Выбрав в меню Вид команду Режим SQL, мы можем просмотреть запись созданного запроса на языке SQL:






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных