- •Раздел 4. «Технологии создания и преобразования информационных объектов»
- •Представление об организации баз данных и системах управления базами данных.
- •Структура данных и система запросов на примерах баз данных различного назначения.
- •Дополнительные объекты субд.
- •Реляционная модель
- •Иерархическая модель
- •Сетевая модель
- •Проектирование запросов в режиме конструктора
- •Проектирование запросов с помощью мастера
- •Форма как объект субд
- •Отчёт как объект субд
- •Страница как объект субд
- •Макросы и модули как объекты субд
- •Контрольные вопросы
- •Задания для самостоятельной работы
Проектирование запросов в режиме конструктора
Базовое окно среды Access после выбора объектов «Запросы» выглядит следующим образом:
Для того чтобы инициировать проектирование запроса в режиме конструктора, необходимо щелкнуть по соответствующей строке. Первый запрос можно также создать посредством инструмента «Конструктор», расположенного в верхней строке панели инструментов. После инициации формирования запроса загрузится окно:
Запрос можно формировать на основе таблицы, другого запроса или на базе того и другого. Для выбора объекта, на основе которого строится запрос, используются три вкладки. На вкладке «Таблицы» представлены все таблицы, которые имеются в БД. Чтобы добавить в бланк запроса таблицу, нужно ее выделить и щелкнуть по кнопке «Добавить». После добавления всех таблиц, на базе которых предполагается строить запрос, нужно щелкнуть по кнопке «Закрыть».
Для включения поля в запрос можно дважды щелкнуть по нужному полю из списка полей таблицы «Книги». Кроме того, для выбора нужного поля можно использовать список, который формируется после щелчка в поле бланка «Поле».
Если выбрать строку «*», то запрос будет формироваться для всех полей таблицы «Книги». В приведенном примере задействованы четыре поля этой таблицы:
В строке бланка запроса «Вывод на экран» можно отменить отображение данных из любого поля и использовать его, например, для вычисления значения.
Результат
выполнения запроса можно просмотреть,
не выходя из конструктора. Для этого
надо щелкнуть по инструменту «Запуск»
.
После выполнения сформированного запроса получим следующую выборку:
Как видно из рисунка, записи не отсортированы. Чтобы их отсортировать, в бланке запроса используется строка «Сортировка»:
После запуска этого запроса записи в выборке будут отсортированы по авторам в алфавитном порядке:
Для фильтрации записей таблицы в бланке запроса используется строка «Условие отбора», которое может выглядеть следующим образом:
Практически для каждого поля можно использовать условия отбора, для чего они объединяются союзом И (AND). Есть возможность объединять условия и союзом ИЛИ (OR), для чего в бланке запроса задействуется последняя строка, причем таких строк можно использовать практически неограниченное количество. Для того чтобы отличить поле типа дата от других типов полей, его необходимо заключать в символы решетка «#».
Результат запуска запроса с условиями:
Запросы на выборку нередко можно использовать для ввода данных, о чем свидетельствует последняя запись в полученной выборке, которая заполнена только значением по умолчанию для поля «Цена». Однако в некоторых случаях ввод данных в запросе невозможен. В частности, если в таблице имеется поле, которое ссылается на соответствующее ключевое поле другой таблицы, то это поле, как правило, является обязательным для заполнения. В рассматриваемом случае это «Код издательства». Оно в запросе не предусмотрено, поэтому этот запрос нельзя использовать для ввода данных. При попытке добавления записи возникнет сообщение об ошибке:
В запрос можно включить вычисляемое поле, например, поле «Наценка»:
Чтобы формат вывода поля «Наценка» был денежный, необходимо обратиться к общим свойствам этого поля и выбрать «Денежный» формат поля, для чего надо выделить столбец «Наценка», щелкнуть правой клавишей мыши и выбрать позицию контекстного меню «Свойства»:
Результат запуска этого запроса:
