Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh_Accsess1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.23 Mб
Скачать

7. Разработка многотабличной пользовательской формы ввода данных

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

Рассмотрим пример создания многотабличной формы. В качестве подчиненной будет использоваться новая  форма  на основе таблицы «Удельная активность», которая была создана с использованием мастера и содержит все поля таблицы. Для подчиненной  формы было выбрано расположение Табличный вид.

За основную форму возьмем ранее созданную Форму «Стройматериалы», открываем ее в режиме конструктора и переносим из окна Список объектов пиктограмму подчиненной формы «Удельная активность» в нижнюю часть поля основной формы «Стройматериалы».

Вид в режиме формы.

8. Формирование запросов для многотабличной базы данных

8.1 Запрос на создание таблицы

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

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

Создадим запрос на выборку в режиме конструктора, добавив из таблицы «Стройматериалы» поля «Тип стройматериала», «Страна происхождения», «Марка или источник», а из таблицы «Удельная активность» - поле «Класс материала». В строке Условие отбора внесем критерий отбора: в поле тип стройматериала введем «кирпич», а в поле страна происхождения  «Россия».

Далее нужно преобразовать запрос на выборку в запрос на создание таблицы. Для этого на вкладке Конструктор, в группе Тип запроса выберем команду Создание таблицы . В окне Создание таблицы введем имя новой таблицы — «Кирпич из России».

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

В результате запуска запроса была создана таблица:

8.2 Запрос на обновление

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

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

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

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

Например, разработаем запрос на увеличение класса материала кирпич из России на 1, если удельная активность А эф выше 150.

Создадим запрос на выборку в режиме конструктора, добавив из таблицы «Кирпич из России» все поля. Изменим тип запроса на обновление. В строке Условие отбора для поля Удельная активность А эф введем >150, в строке Обновление для поля Класс материала введем: [класс материала]+1, как показано на рисунке:

Запустим запрос на выполнение и просмотрим таблицу «Кирпич из России», в которой класс материала увеличился на единицу для кирпича с удельной активностью А эф выше 150.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]