Смекни!
smekni.com

Режим работы с базами данных (стр. 7 из 8)

- для непосредственного включения подчиненной формы надо выбрать Подчиненные формы;

- для включения кнопки, вызывающей связанную форму, надо выбрать Связанные формы.

Далее можно выбрать вид Ленточная или Табличная для подчиненной или связанной формы.

Если таблица — источник основной части формы является подчиненной по отношению к другой таблице, тоже выбранной для формы, то создаваемая многотабличная форма не будет включать подчиненную форму. Однако эта форма будет содержать поля из главной таблицы. В окне Создание форм автоматически будет установлен тип формы Одиночная форма. Далее предоставляется возможность выбрать вид формы: В один столбец, Ленточный или Табличный.

Далее предоставляется возможность выбрать стиль оформления, который определяет отображение надписей и значений полей в форме. В последнем диалоговом окне Создание форм можно отредактировать заголовки форм.

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

3.4 Запросы к базе данных

Основы разработки запросов

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

В Microsoft Access имеется удобное для пользователя графическое средство формирования запроса по образцу — QBE (Query By Example), с помощью которого легко может быть построен сложный запрос. Запрос QBE включает подсхему данных с используемыми таблицами и бланк запроса. При конструировании запроса достаточно, работая мышью, выделить и перетащить необходимые поля из таблиц, представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей.

Назначение и виды запросов

Средствами запроса можно:

• выбрать записи, удовлетворяющие условиям отбора;

• включить в результирующую таблицу запроса нужные поля;

• произвести вычисления в каждой из полученных записей;

• сгруппировать записи с одинаковыми значениями в одном или нескольких полях и выполнить над ними групповые функции;

• произвести обновление полей в выбранном подмножестве записей;

• создать новую таблицу базы данных, используя данные из существующих таблиц;

• удалить выбранное подмножество записей из таблицы базы данных;

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

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

• Запрос на выборку — выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса.

• Запрос на создание таблицы — основам на запросе выборки, но, в отличие от него, результат запроса сохраняется в новой таблице,

• Запросы на обновление, добавление, удаление — это запросы-действия, в результате выполнения которых изменяются данные в таблицах.

Запрос па выборку играет особую роль, так как на его основе строятся запросы другого вида.

Основы конструирования запроса

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

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

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

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

Разработка запроса производится в режиме Конструктора запросов.

Окно запроса

Для создания запроса в окне базы данных надо открыть вкладку Запрос и нажать кнопку Создать. В открывшемся окне Новый запрос выбрать Конструктор.

В окне Добавление таблицы выбрать используемые в запросе таблицы и нажать кнопку Добавить. Затем кнопкой Закрыть выйти из окна Добавление таблицы.

В результате появится окно Конструктора запросов — <имя запроса>: запрос на выборку.

Окно Конструктора запросов разделено на две панели:

Верхняя панель содержит схему данных запроса, которая включает выбранные для данного запроса таблицы. Таблицы представлены списками полей. Схема данных отображает связи между таблицами, имеющиеся в схеме данных базы, и связи объединения, которые устанавливает Access, если таблицы имеют поля с одинаковыми именами и типами данных. Кроме того, пользователь сам может установить нужные связи (объединения), перетащив задействованные в связи поля из одного списка полей в другой.

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

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

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

Условия отбора записей

Условия отбора записей могут задаваться для одного или нескольких полей в соответствующей строке бланка запроса. Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться некоторые заданные значения и идентификаторы (ссылки). Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей, таблиц, запросов, форм, отчетов и т. д. Они должны заключаться в квадратные скобки. Если необходимо указать ссылку па поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например: [Имя таблицы]|[Имя поля].

Вычисляемые поля

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

Выражение вводится в бланк запроса в пустую ячейку строки Поле. В этой ячейке после нажатия клавиши <Еntег> или перевода курсора в другую ячейку формируется имя поля Выражением, где N — целое число, увеличивающееся на единицу для каждого нового создаваемого вычисляемого поля в запросе. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. Например, Выражение1: [Цена]*[Количество], где Цена и Количество — имена полей.

Имя вычисляемого поля «Выражение1» становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить. Пользователь имеет возможность переименовать вычисляемое поле. Для этого достаточно в бланке запроса вместо Выражение N ввести повое имя.

Параметры запроса

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