Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Access 2003_сложный.doc
Скачиваний:
111
Добавлен:
18.02.2016
Размер:
3.81 Mб
Скачать
  1. Многотабличные запросы

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

Во-первых, откройте окно«Конструктора» запроса и добавьте таблицы, в которых содержится необходимая информация. Если ранее с помощью команды «Связи» была установлена связь между таблицами, то MS Access определит это автоматически. Эта связь будет отображена в виде линии, проведенной между полями таблиц. Если связь между таблицами отсутствует, вы должны ее установить.

Далее необходимо определить параметры связи. Укажите на соединительную линию и выберите команду «Вид»«Параметры объединения». В результате откроется диалоговое окно, в котором предлагаются три опции для определения параметров связи (рисунок 2.7).

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

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

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

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

Сначала создается простой запрос, содержащий таблицу, записи из которой необходимо добавить в другую. В режиме конструктора запроса выполните команду«Запрос»«Создание таблицы». На экране появится диалоговое окно «Добавление» (рисунок 2.8), где в поле «имя таблицы» введите имя таблицы, в которую необходимо добавить записи или выберите это имя из раскрывающегося списка. Причем, необходимо учесть, что если таблица находится в открытой в настоящий момент базе данных, то выбирается параметр «в текущей базе данных», в противном случае активизируется параметр «в другой базе данных» и вводится имя базы данных, в которой находится таблица. Закройте диалоговое окно и переместите из списка полей в бланк запроса поля, которые необходимо добавить или которые будут использоваться при определении условия отбора. Если в обеих таблицах выделенные поля имеют одинаковые имена, то соответствующие имена автоматически вводятся в строку «Добавление». Если имена полей двух таблиц отличны друг от друга, нужно будет указать в строке «Добавление» имена полей таблицы-получателя. Для полей, перемещенных в бланк запроса, введите в ячейку «Условие отбора» условие отбора, по которому будет осуществляться добавление.

Для поля с типом данных «Счетчик» выполните одно из следующих действий:

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

  2. Для сохранения в поле счетчика значений из исходной таблицы перетащите при создании запроса поле счетчика в бланк запроса.

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