Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 14 Базы данных и СУБД.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Проектирование запросов в режиме конструктора

Базовое окно среды Access после выбора объектов «Запросы» выглядит следующим образом:

 

Для того чтобы инициировать проектирование запроса в режиме конструктора, необходимо щелкнуть по соответствующей строке. Первый запрос можно также создать посредством инструмента «Конструктор», расположенного в верхней строке панели инструментов. После инициации формирования запроса загрузится окно:

 

 

Запрос можно формировать на основе таблицы, другого запроса или на базе того и другого. Для выбора объекта, на основе которого строится запрос, используются три вкладки. На вкладке «Таблицы» представлены все таблицы, которые имеются в БД. Чтобы добавить в бланк запроса таблицу, нужно ее выделить и щелкнуть по кнопке «Добавить». После добавления всех таблиц, на базе которых предполагается строить запрос, нужно щелкнуть по кнопке «Закрыть».

Для включения поля в запрос можно дважды щелкнуть по нужному полю из списка полей таблицы «Книги». Кроме того, для выбора нужного поля можно использовать список, который формируется после щелчка в поле бланка «Поле».

 

 

Если выбрать строку «*», то запрос будет формироваться для всех полей таблицы «Книги». В приведенном примере задействованы четыре поля этой таблицы:

 

 

В строке бланка запроса «Вывод на экран» можно отменить отображение данных из любого поля и использовать его, например, для вычисления значения.

Результат выполнения запроса можно просмотреть, не выходя из конструктора. Для этого надо щелкнуть по инструменту «Запуск» .

После выполнения сформированного запроса получим следующую выборку:

 

 

Как видно из рисунка, записи не отсортированы. Чтобы их отсортировать, в бланке запроса используется строка «Сортировка»:

 

После запуска этого запроса записи в выборке будут отсортированы по авторам в алфавитном порядке:

 

 

Для фильтрации записей таблицы в бланке запроса используется строка «Условие отбора», которое может выглядеть следующим образом:

 

 

Практически для каждого поля можно использовать условия отбора, для чего они объединяются союзом И (AND). Есть возможность объединять условия и союзом ИЛИ (OR), для чего в бланке запроса задействуется последняя строка, причем таких строк можно использовать практически неограниченное количество. Для того чтобы отличить поле типа дата от других типов полей, его необходимо заключать в символы решетка «#».

Результат запуска запроса с условиями:

 

Запросы на выборку нередко можно использовать для ввода данных, о чем свидетельствует последняя запись в полученной выборке, которая заполнена только значением по умолчанию для поля «Цена». Однако в некоторых случаях ввод данных в запросе невозможен. В частности, если в таблице имеется поле, которое ссылается на соответствующее ключевое поле другой таблицы, то это поле, как правило, является обязательным для заполнения. В рассматриваемом случае это «Код издательства». Оно в запросе не предусмотрено, поэтому этот запрос нельзя использовать для ввода данных. При попытке добавления записи возникнет сообщение об ошибке:

 

В запрос можно включить вычисляемое поле, например, поле «Наценка»:

 

 

Чтобы формат вывода поля «Наценка» был денежный, необходимо обратиться к общим свойствам этого поля и выбрать «Денежный» формат поля, для чего надо выделить столбец «Наценка», щелкнуть правой клавишей мыши и выбрать позицию контекстного меню «Свойства»:

 

Результат запуска этого запроса: