как сделать подчиненную форму в access
Установка связи между формами
Если у вас длинная форма с несколькими пунктами, иногда нужно быстро «развернуть», чтобы увидеть дополнительные сведения об одном элементе. Это можно сделать в Access, связав форму с одним элементом. При щелчке элемента в форме с несколькими пунктами открывается форма с подробными сведениями.
Эта статья не относится к веб-приложениям Access — типу баз данных, которые вы проектаете с помощью Access и публикуете в Интернете.
Если вы имели в виду что-то другое под «связыванием», см. другие типы ссылок в конце этой статьи.
Создание форм
В большинстве случаев две формы в drill-down configuration основаны на одной таблице или запросе. Если у вас уже есть пара форм, которые вы хотите использовать (одна из них — таблица или форма с несколькими пунктами, а другая — форма с одним элементом или с подробностями), этот раздел можно пропустить. В противном случае их можно создать с помощью указанных здесь процедур.
Создание таблицы или формы с несколькими пунктами
В области навигации выберите таблицу или запрос с данными, которые должны быть в форме таблицы.
Нажмите кнопку > «Другиеформы», а затем выберите пункт «Несколько элементов» или «Таблица» взависимости от того, какой тип формы вам нужен.
Внести нужные изменения в оформление. Удаляйте как можно больше столбцов, оставляя достаточно информации для идентификации каждого элемента.
Сохраните и закройте форму.
Дополнительные сведения о формах с несколькими элементами см. в статье «Создание формы с помощью инструмента «Несколько элементов».
Создание формы для одного элемента или формы detail:
В области навигации выберите таблицу или запрос с данными, которые должны быть в форме данных. Скорее всего, это будет та же таблица или запрос, которые использовались для первой формы.
Нажмите кнопку «> форму».
Внести нужные изменения в оформление, а затем сохранить и закрыть форму.
Дополнительные сведения см. в инструменте «Форма»для создания формы.
Добавление логики, открываемой в форме подробностей
Теперь нужно добавить немного макроса в форму для нескольких элементов или таблицы. Макрос откроет форму подробностей и отобразит правильный элемент.
Не беспокойтесь, если вы мало работали с макросами. вы можете просто скопировать и вкопировать XML-текст, который вы найдете в этой процедуре.
Если используется форма таблицы, дважды щелкните ее в области навигации, чтобы открыть. Для формы с несколькими пунктами щелкните ее правой кнопкой мыши в области навигации и выберите пункт «Макет».
Если лист свойств еще не открыт, нажмите F4, чтобы открыть его.
Щелкните столбец, в который нужно добавить макрос. Это будет столбец, который вы щелкаете, чтобы открыть форму подробностей по завершению макроса. На рисунке выше макрос добавляется в столбец «ИД» frmContactList.
Совет: Макрос можно добавить в несколько столбцов.
На вкладке «События» окна свойств щелкните поле свойства «Нажатие кнопки» или «Нажатие кнопки «Нажать кнопку» (в зависимости от того, хотите ли вы открыть форму, щелкнув поле одним или двойным щелчком), а затем нажмите кнопку «Построить» .
Если Access запросит выбор построитель, выберите конструктор макроса и нажмите кнопку «ОК».
Щелкните пустую область конструктора макроса (под списком «Добавить новую макрос») и нажмите CTRL+V, чтобы ввести макрос. Если все будет хорошо, XML не будет показан в конструкторе макроса — он расширится в более учитаемые блоки макроса, как показано на следующем шаге.
При необходимости замените имя формы (frmContactDetails) и имя связываемого столбца (ID) именем формы и столбцом, который используется для связывания двух форм. На рисунке ниже показано, где может потребоваться внести изменения, чтобы совме собственные имена идентификаторов:
На вкладке «Конструктор» нажмите кнопку «Сохранить» и выберите «Закрыть».
Если вы хотите, чтобы столбцы со ссылками отображались как гиперссылки, чтобы другие люди знали, что они могут щелкать их, убедитесь, что столбец по-прежнему выбран, а затем на вкладке «Формат» установите для свойства «Показывать как гиперссылку» задав для свойства «Показывать как гиперссылки» задав для свойства «Всегда».
Сохраните и закроем форму, а затем снова и проверьте макрос, щелкнув измененный столбец или дважды щелкнув его.
Дополнительные сведения о макросах в базах данных рабочего стола см. в теме «Добавление логики в управление в базе данных рабочего стола».
Другие типы связывания форм
Сведения о том, как создать комбинацию формы или подчиненной формы и связать их друг с другом, см. в документе «Создание формы, которая содержит подчиненную форму (форма «один-к-многим»).
Сведения о создании формы, связанной с источником данных, например таблицей или запросом, см. в инструменте «Создание формы».
Создание подчиненной формы
Часто бывает удобно на одной форме просматривать и исправлять записи, выбирая их из разных таблиц или запросов. Особенно часто такая необходимость возникает при работе со связанными таблицами, т.к. данные в них согласованы.
В Access для этой цели используются так называемые подчиненные формы. Подчиненная форма строится непосредственно на главной форме; в этой паре главная форма соответствует родительской таблице (идет со стороны «один» в связи «один-ко-многим»), подчиненная – дочерней (идет со стороны «многие» в связи «один-ко-многим»). В этом случае одной записи главной формы соответствует несколько записей подчиненной формы.
Создать форму с подчиненной можно несколькими способами. Рассмотрим некоторые из них.
1 способ. Главная и подчиненная формы строятся одновременно, на основе имеющихся таблиц и/или запросов. Возьмем для этой цели связанные таблицы «Отделы» (родительская) и «МоиСотрудники» (дочерняя). Шаги:
2. Во втором окне выбираем нужные поля, например, Название Заведующий, Телефон. Далее, в этом же окне, в поле Таблицы и запросы выберите подчиненную таблицу «МоиСотрудники». Затем выберите ее поля, например, ФИО, Должность, Начислено (рис. 90). Нажмите Далее
3. В третьем окне подтвердите вид представления данных и флажок Подчиненные формы. Нажмите Далее.
4. В четвертом окне выберем вид подчиненной формы: Ленточный. Далее.
5. В последующих окнах выберите оформление и название главной формы. Нажмите Готово.
Результат – форма с подчиненной; для каждой записи главной формы подчиненная показывает все соответствующие записи из связанной (дочерней) таблицы.
6. Перейдите в режим конструктора, отформатируйте вид подчиненной формы так, чтобы выбранные поля были видны без использования полосы прокрутки.
2 способ.Предполагается, что формы для главной и подчиненной таблиц созданы заранее. Будем использовать ранее созданные формы для таблиц «МоиСотрудники» и «Отделы» (или их копии). Шаги:
1. Откройте форму для родительской (главной) таблицы «Отделы» в режиме конструктора. Расширьте область данных так, чтобы можно было разместить подчиненную форму.
2. Отключите кнопку Мастера на панели элементов. Нажмите на панели элементов кнопку Подчиненная форма/Отчет
. Нарисуйте левой мышью область, куда будет помещена подчиненная форма.
3. Выделите внедренный объект, войдите в его Свойства. На вкладке Данные в списке Объект-источник выберите таблицу «МоиСотрудники». Убедитесь, что связь (ключи Основные поля и Подчиненные поля) идет по полю Отдел. Закройте окно свойств.
4. Отформатируйте полученные объекты, замените надпись «Внедренный» на «Сотрудники».
3 способ. Форма строится аналогично предыдущему, второму способу, но шаг 2 выполняется при включенной (нажатой) кнопке Мастера. Далее двигаемся в соответствии с инструкциями мастера. Для примера можно построить форму, в которой главную роль играет форма «Отделы», а подчиненную – форма «Сотрудники» из БД «Борей» (эту форму нужно предварительно импортировать из этой БД).
4 способ. Самый простой. Предполагается наличие в БД двух готовых форм – будущих главной и подчиненной. Шаги:
1) Открыть главную форму в режиме конструктора. Расширить (мышью) ее область данных.
2) Перетащить мышью подчиненную форму из окна БД и бросить ее на главную в отведенное место.
Попробуйте этот способ с копией формы «Отделы».
Как сделать подчиненную форму в access
В процессе создания приложения СУБД Access или базы данных решаются две основные проблемы: первая – создание структуры БД (таблиц и связей между ними), вторая – организация интерфейса пользователя для работы с БД. Основным средством организации интерфейса пользователя в приложениях СУБД Access являются формы, которые могут быть использованы для ввода, редактирования, вывода данных и других целей.
Если в одной форме требуется просматривать данные из нескольких таблиц или запросов, то для этой цели необходимо применить подчиненные формы. Подчиненная форма – это форма, вставленная в другую форму. Например, подчиненную форму можно использовать при просмотре информации о студентах факультета в группах на примере базы данных Training_students_VP.
Подчиненные формы целесообразно создавать для отображения данных из таблиц, имеющих отношение «один-ко-многим». На примере базы данных Training_students_VP рассмотрим технологию создания подчиненной формы, которая имеет две таблицы «Группы студентов» и «Студенты» связанные отношением «один-ко-многим» (Рис.1)
Если в окне базы данных Training_students_VP открыть таблицу «Группы студентов», то можно увидеть, что рядом с каждой записью таблицы помещен знак «+» (Рис. 2).
Это означает, что у этой таблицы появилась подтаблица. Если щелкнуть на знаке «+», например, перед второй записью, то отобразится таблица «Студенты» и мы увидим, что в группе БФ-16б числится два студента (Ильин и Иванов). Теперь создадим подчиненную форму, содержащую эти две таблицы. Существует несколько способов создания подчиненных форм. Наиболее простой способ создания подчиненных форм – это создание Автоформы.
Для создания Автоформы необходимо на вкладке Таблицы в окне базы данных выделить таблицу «Группы студентов» и на панели инструментов щелкнуть кнопку «Новый объект: форма». В открывшемся меню надо выбрать команду Автоформа, в результате получим Главную форму «Группы студентов», в которую вставлена подчиненная таблица «Студенты». Затем сохраним форму как «Группы студентов_ПФ» и закроем ее. Скриншот Главной и подчиненной формы представлен на Рис. 3.
Преобразуем полученную форму. Для этого в режиме конструктора в Главной форме удалим поле КодГруппы, слово «Название» заменим на «Группа» и изменим некоторые размеры формы. После проведенных изменений, автоформа (под имененм Podch_gr_st_a) будет иметь вид, представленный на Рис. 4.
Создать подчиненную форму можно и с помощью Конструктора. Для этого в окне базы данных надо перейти на вкладку формы и щелкнуть на кнопке создать, а в качестве источника данных выбрать таблицу «Студенты» и щелкнуть ОК. В полученную пустую стандартную форму требуется перетащить поля: Фамилия, Имя, Отчество, пол, дата рождения и другие необходимые поля, а затем сохранить и закрыть данную форму.
Аналогично надо создать вторую (главную) форму «Группы студентов». В качестве источника данных выбрать «Группы студентов» и щелкнуть ОК. В полученную форму требуется перетащить поля: Название, Курс и Семестр. Кроме того, в полученной форме предусмотреть место для таблицы «Студенты», а затем сохранить данную форму.
Затем на форму «Группы студентов» открытую в режиме конструктора можно перетащить подчиненную форму «Студенты» из окна базы данных. В результате получим Главную форму «Группы студентов», в которую вставлена подчиненная таблица «Студенты».
Добавление подчиненной формы в главную форму
Подчиненная форма является элементом управления и, как и все остальные элементы, может быть добавлена в главную форму с помощью Мастера подчиненных форм. При этом ее можно создать заранее, и тогда мастеру нужно будет только указать имя добавляемой формы. Если подчиненная форма еще не создана, мастер поможет ее создать.
В качестве примера добавим в форму «Поставщики» (Suppliers) подчиненную форму, которая будет содержать список товаров текущего-поставщика (в исходной версии базы данных «Борей» товары поставщика отображаются в отдельной связанной форме при нажатии кнопки Просмотр товаров (Review Products)):
Рис. 9.35. Второе диалоговое окно Мастера подчиненных форм
Рис. 9.36. Третье диалоговое окно Мастера подчиненных форм
Результат работы мастера представлен на рис. 9.37.
Мастер подчиненных форм удобен тогда, когда подчиненная форма еще не создана. Если подчиненная форма уже существует, можно просто разместить рядом окно базы данных с раскрытой страницей Формы (Forms) и главную форму, открытую в режиме Конструктора и просто перетащить мышью нужную форму из окна базы данных в главную форму. При этом главная становится подчиненной формой и автоматически устанавливается связь между формами.
Рис. 9.37. Подчиненная форма «Товары» внутри формы «Поставщики»
Создание и использование подчиненных отчетов
При работе с реляционными данными (когда связанные данные хранятся в отдельных таблицах) часто нужно просмотреть сведения из нескольких таблиц или запросов в одном отчете. Например, может потребоваться просмотреть одновременно сведения о клиенте и его заказах. С помощью подчиненного отчета в Access можно отобразить в отчете сведения о клиенте и заказах логичным и наглядным образом. Access поддерживает целый ряд способов быстрого создания подчиненных отчетов.
В этой статье
Общие сведения о подчиненных отчетах
Подчиненный отчет — это отчет, который вставляется в другой отчет. При сочетании отчетов один из них должен служить основным отчетом, содержа другим. Основной отчет является связанным или связанным. Связанный отчет может отображать данные, в нем есть таблица, запрос или SQL, указанная в его свойстве «Источник записей». Это отчет, который не основан на таблице, запросе или SQL (то есть свойство «Источник записей» отчета пусто).
Свободный основной отчет с двумя несвязанными подчиненными отчетами
Свободный основной отчет не отображает данные сам по себе, но может быть основным для несвязанных подчиненных отчетов, которые вы хотите объединить.
1. Свободный основной отчет содержит два подчиненных отчета.
2. В одном подчиненном отчете отображаются совокупные продажи сотрудника.
3. Во втором подчиненном отчете продажи отображаются по категориям.
Основной и подчиненный отчеты, привязанные к одному источнику записей
Вы можете использовать основной отчет для отображения подробных записей, таких как каждая продажа в году, а в подчиненном отобразить сводные сведения, такие как итоговые продажи в каждом квартале.
1. В подчиненном отчете отображаются совокупные продажи за год по кварталам.
2. Основной отчет содержит продажи за каждый день.
Основной и подчиненный отчеты, привязанные к связанным источникам записей
Основной отчет может содержать данные, общие с одним или несколькими подчиненными отчетами. В этом случае подчиненный отчет содержит данные, связанные с данными основного отчета.
1. Основной отчет содержит названия всех ярмарок и города, в которых они проводятся.
2. Подчиненный отчет содержит сведения о представителях компании на каждой из ярмарок.
Подчиненные формы в отчетах
Основной отчет может включать в себя не только подчиненные формы, но и сколько угодно подчиненных форм и отчетов. Кроме того, основной отчет может содержать до семи уровней подчиненной формы и отчетов. Например, отчет может содержать подчиненный отчет, в котором может быть подчиненная форма или отчет и так далее — до семи уровней.
Если добавить подчиненную форму в отчет, а затем открыть отчет в представлении отчета, можно использовать подчиненную форму для сортировки записей и перемещения по ним. Код Visual Basic для приложений (VBA) и внедренные макросы, связанные с формой и ее элементами управления, будут выполняться и в этом контексте, хотя некоторые события при этом будут отключены. Добавлять, изменять или удалять записи с помощью подчиненных форм в отчете нельзя.
Связывание отчета с подчиненной формой или отчетом
При вставке подчиненной формы или отчета со сведениями, которые связаны с данными в основном отчете, элементы управления в подчиненном отчете должны быть привязаны к основному отчету. Эта связь гарантирует, что записи в подчиненной форме или отчете будут соответствовать записям в основном отчете.
При создании подчиненной формы или отчета с помощью мастера или путем перетаскивания объекта из области навигации в отчет приложение Access автоматически связывает форму или отчет с основным отчетом, если выполняется одно из приведенных ниже условий.
Вы определяете связи для выбранных таблиц или для базовых таблиц выбранных запросов.
Основной отчет основан на таблице с первичный ключ, а подчиненнаяформа или отчет — на основе таблицы, содержаной поле с тем же именем, что и первичный ключ, и с таким же или совместимым тип данных. Например, если первичным ключом таблицы, которая является основным отчетом, является поле «Автонумер», а его свойство FieldSize имеет значение «Длинное integer»,соответствующее поле в таблице, соответствующей подчиненной формы или отчета, должно быть числом, свойство FieldSize имеет значение «Длинное integer». При выборе запроса или запроса в качестве источника записей подчиненной формы или подчиненного отчета таблицы, в которых они находятся, должны соответствовать одинаковым условиям.
Создание подчиненных отчетов
Если вы планируете связать подчиненный отчет с основным, перед выполнением приведенных ниже действий убедитесь в том, что базовые источники данных связаны.
Создание подчиненных отчетов с помощью мастера
Предполагается, что у вас уже есть отчет, в который вы хотите добавить подчиненный отчет. Дополнительные сведения о создании отчетов см. в статьях Создание простого отчета и Создание отчета с группировкой или сводного отчета.
В области навигации щелкните правой кнопкой мыши отчет, в который нужно добавить подчиненный отчет, и выберите пункт Конструктор.
На вкладке Конструктор в группе Элементы управления щелкните стрелку вниз в правом нижнем углу коллекции Элементы управления, чтобы открыть ее.
В открывшемся меню установите параметр Использовать мастера.
Снова откройте коллекцию элементов управления и выберите элемент Подчиненная форма/отчет.
Щелкните отчет в том месте, где нужно добавить подчиненный отчет.
Если появится диалоговое окно с уведомлением безопасности, нажмите кнопку Открыть, чтобы запустить мастер.
Если вы хотите создать подчиненную форму или отчет и привязать их к таблице или запросу, на первой странице мастера подчиненных отчетов установите переключатель в положение Имеющиеся таблицы и запросы. Если у вас уже есть отчет или форма, которые вы хотите использовать в качестве подчиненного отчета, установите переключатель в положение Имеющиеся отчеты и формы, выберите в списке отчет или форму и нажмите кнопку Далее.
Примечание: Если в базе данных нет других отчетов и форм, поле списка будет пустым, а параметр Имеющиеся отчеты и формы будет недоступен.
Если на предыдущей странице мастера вы выбрали параметр Имеющиеся отчеты и формы, пропустите это действие и перейдите к действию 9. В противном случае выберите в списке Таблицы и запросы таблицу или запрос с полями, которые нужно включить в подчиненный отчет, а затем дважды щелкните нужные поля в списке Доступные поля, чтобы добавить их в подчиненный отчет.
Если вы планируете привязать подчиненный отчет к основному отчету, добавьте поля, которые будут использоваться для создания связи, пусть даже отображать их не требуется. Как правило, связанным полем является поле «ИД». На приведенном выше рисунке таблица «Заказы» является источником записей для подчиненного отчета, а таблица «Клиенты» — источником записей для основного отчета. Поскольку таблица «Заказы» связана с таблицей «Клиенты» полем «ИД клиента», оно добавлено в список Выбранные поля.
Примечание: В подчиненный отчет можно добавить поля из нескольких таблиц и запросов. Завершив добавление полей из одной таблицы, выберите следующую таблицу или запрос в списке Таблицы и запросы и также добавьте нужные поля.
Чтобы продолжить, нажмите кнопку Далее.
На этой странице мастера определяется способ связывания подчиненного и основного отчетов. Если Access обнаружит поля, подходящие для связи подчиненного и основного отчетов, мастер отобразит список предлагаемых вариантов.
Вы можете выбрать вариант, который лучше всего подходит для вашей ситуации, или, если вы не хотите, чтобы отчет был связан с основным отчетом, выберите вариант «Нет». Если вы хотите связать подчиненный и основной отчеты, но ни один из предложений не подходит, нажмите кнопку «Определить собственные».
Примечание: Если мастер не сможет найти подходящие для связи поля, список предлагаемых вариантов не появится и автоматически будет выбран параметр Самостоятельное определение.
Когда выбран параметр Самостоятельное определение, мастер отображает два набора списков.
В списке Поля формы или отчета выберите поля основного отчета, с помощью которых нужно связать его с подчиненной формой или отчетом. Можно выбрать до трех полей, при этом каждое выбранное поле должно соответствовать полю в источнике данных подчиненной формы или отчета.
В списке Поля подчиненной формы или отчета выберите соответствующие поля подчиненной формы или отчета, связанные с выбранным основным отчетом.
Чтобы оставить подчиненную форму или отчет без связи с основным отчетом, оставьте все списки пустыми.
Чтобы продолжить, нажмите кнопку Далее.
На последней странице мастера введите имя подчиненной формы или отчета или просто нажмите кнопку Готово, чтобы принять имя по умолчанию.
Access добавит в отчет элемент управления подчиненного отчета и привяжет его (то есть установит для него свойство Объект-источник) одним из описанных ниже способов.
Если на первой странице мастера был выбран параметр Имеющиеся отчеты и формы, Access привяжет элемент управления подчиненного отчета к указанному вами отчету или форме.
Если на первой странице мастера был выбран параметр Имеющиеся таблицы или запросы, Access создаст новый объект отчета в области навигации и привяжет к нему элемент управления подчиненного отчета. Новому объекту отчета будет назначено имя, которое вы ввели на последней странице мастера.
Добавление подчиненных отчетов в виде таблиц, запросов, форм или отчетов
Вы можете быстро добавить подчиненный отчет, открыв основной отчет в режиме макета или конструктора и перетащив в него нужный объект из области навигации. Если нужно, чтобы подчиненный отчет был связан с основным, убедитесь в том, что базовые источники записей связаны и включают поля, которые будут использоваться для связи подчиненной формы или отчета с основным отчетом.
В области навигации щелкните правой кнопкой мыши отчет, который нужно использовать как основной, и выберите в контекстном меню пункт Режим макета или Конструктор.
Перетащите таблицу, запрос, форму или другой отчет из области навигации в ту часть главного отчета, где должен находиться подчиненный отчет.
Access выполнит одно из описанных ниже действий.
Если Access удастся определить, как связать эти два объекта, в отчет будет добавлен элемент управления подчиненного отчета. Если вы добавляете форму или отчет, Access свяжет элемент управления подчиненного отчета с этим объектом. Если вы добавляете таблицу или запрос, Access сначала создаст объект отчета, а затем свяжет его с элементом управления подчиненного отчета.
Если Access не удастся определить, как связать эти два объекта, откроется мастер подчиненных отчетов. Чтобы продолжить работу, выполните действия, описанные в разделе Создание подчиненного отчета с помощью мастера, начиная с действия 9.
После выполнения всех этапов мастера Access добавит подчиненный отчет в отчет.
Чтобы проверить связь подчиненной формы или отчета с основным отчетом, выполните приведенные ниже инструкции.
Щелкните элемент управления подчиненного отчета, чтобы выделить его.
Если окно свойств не отобразится, нажмите клавишу F4.
На вкладке Данные окна свойств обратите внимание на свойства Основные поля и Подчиненные поля.
Для несвязанных подчиненных форм или отчетов оставьте поля обоих свойств пустыми.
Для связанных подчиненных форм или отчетов убедитесь в том, что свойства Основные поля и Подчиненные поля содержат поля, которые связывают два объекта. Например, если в основном отчете отображаются сведения из таблицы «Сотрудники», а в подчиненной форме или отчете — сведения из таблицы «Заказы», свойство Основные поля должно содержать поле «ИД» из таблицы «Сотрудники», а свойство Подчиненные поля — поле «ИД сотрудника» из таблицы «Заказы».
Возможно, эти свойства придется изменить, чтобы подчиненная форма или отчет работали должным образом. Для этого выполните описанные ниже действия.
На вкладке Данные окна свойств щелкните поле Основные поля, а затем нажмите кнопку Построить .
Откроется диалоговое окно Связь с полями подчиненной формы.
В списках «Master Fields» и «Child Fields» (Поля master и Child Fields) выберите поля, с помощью которые вы хотите связать отчеты. Если вы не знаете, какие поля использовать, нажмите кнопку «Предложить», чтобы Access попытается определить связующие поля. По окончании нажмите кнопку ОК.
Если поле, которое вы хотите использовать для связывания отчета, не отображается, возможно, источник записей основного отчета либо подчиненной формы или отчета придется изменить так, чтобы это поле в них присутствовало. Например, если отчет основан на запросе, убедитесь в том, что связующее поле присутствует в результатах запроса.
Сохраните основной отчет, перейдите в представление отчета и проверьте работу отчета.
Добавление таблицы или запроса в отчет в качестве таблицы данных
Таблица данных — это простое визуальное представление данных, похожее на электронную таблицу. Каждый столбец в таблице данных представляет поле в исходной таблице или запросе, а каждая строка — запись. Для отображения таблицы данных в отчете можно использовать элемент управления «Подчиненная форма/отчет». Этот способ хорош, если нужно просмотреть данные в сжатой форме, но при этом вы не хотите использовать возможности форматирования формы или отчета. Чтобы добавить таблицу данных в отчет, выполните указанные ниже действия.
В области навигации щелкните правой кнопкой мыши отчет, который нужно использовать как основной, а затем выберите в контекстном меню пункт Конструктор.
На вкладке Конструктор в группе Элементы управления щелкните стрелку вниз в правом нижнем углу коллекции Элементы управления, чтобы открыть ее.
Убедитесь в том, что в открывшемся меню не установлен параметр Использовать мастера.
Снова откройте коллекцию элементов управления и выберите элемент Подчиненная форма/отчет.
Щелкните отчет в том месте, где нужно добавить подчиненный отчет.
Если запустится мастер подчиненных форм, нажмите кнопку Отмена, чтобы закрыть его.
Если окно свойств не отобразится, нажмите клавишу F4.
В отчете щелкните элемент управления подчиненного отчета, чтобы выбрать его.
На вкладке Данные окна свойств щелкните стрелку вниз в поле Объект-источник и выберите таблицу или запрос, которые нужно отобразить в элементе управления подчиненного отчета. Например, чтобы отобразить таблицу «Заказы», выберите пункт Таблица.Заказы.
Access попытается связать таблицу данных с основным отчетом, руководствуясь определенными в ней связями.
На вкладке Данные окна свойств обратите внимание на свойства Основные поля и Подчиненные поля.
Для несвязанных таблиц данных оставьте поля этих свойств пустыми.
Для связанных таблиц данных убедитесь в том, что в свойствах Основные поля и Подчиненные поля отображаются те поля, которые связывают основной отчет с этими таблицами данных. Например, если в основном отчете отображаются сведения из таблицы «Сотрудники», а в таблице данных — сведения из таблицы «Заказы», свойство Основные поля должно содержать поле «ИД» из таблицы «Сотрудники», а свойство Подчиненные поля — поле «ИД сотрудника» из таблицы «Заказы».
Иногда вам может потребоваться настроить связующие поля самостоятельно. Для этого выполните указанные ниже действия.
На вкладке Данные окна свойств щелкните поле Основные поля, а затем нажмите кнопку Построить .
Если откроется диалоговое окно уведомления безопасности, нажмите кнопку Открыть.
Откроется диалоговое окно Связь с полями подчиненной формы.
В списках «Основные поля» и «Основные поля» выберите поля, которые вы хотите использовать для связываия основного отчета с таблицой. Если вы не знаете, какие поля использовать, нажмите кнопку «Предложить», чтобы Access попытается определить связующие поля. По окончании нажмите кнопку ОК.
Если связующее поле не отображается, источник записей основного отчета или таблицы данных нужно изменить так, чтобы это поле в них присутствовало. Например, если таблица данных основана на запросе, убедитесь в том, что связующее поле присутствует в результатах запроса.
Сохраните основной отчет, перейдите в представление отчета и проверьте работу отчета.
Изменение макета подчиненного отчета
После добавления подчиненного отчета может потребоваться изменить его макет или создать связь между данными подчиненного и основного отчетов. Ниже приведены советы по выполнению этих задач.
Открытие подчиненной формы или отчета в новом окне в режиме конструктора
Чтобы внести изменения в макет подчиненной формы или отчета во время работы над основным отчетом в режиме конструктора, можно открыть их в отдельном окне.
Щелкните подчиненную форму или отчет.
На вкладке Конструктор в группе Сервис нажмите кнопку Подчиненная форма в новом окне.
Примечание: Эта команда недоступна, если элемент управления подчиненной формы или отчета привязан к таблице или запросу.
Отображение итогов из подчиненного отчета в основном отчете
Предположим, что вы используете в подчиненном поле «Заказы» текстовое поле «Суммарная стоимость доставки», которое вычисляет сумму столбца «Стоимость доставки». Чтобы отобразить сумму из подчиненного отчета в основном отчете, необходимо добавить в основной отчет текстовое поле, а затем использовать выражение для ссылки на текстовое поле «Суммарная стоимость доставки» в подчиненном отчете. Для этого выполните указанные ниже действия.
В области навигации щелкните основной отчет правой кнопкой мыши и выберите в контекстном меню пункт Конструктор.
На вкладке Конструктор в группе Элементы управления выберите элемент Поле.
Щелкните основной отчет там, где нужно добавить новое поле.
Если окно свойств не отобразится, нажмите клавишу F4.
В окне свойств на вкладке Данные введите в поле свойства Данные следующее выражение:
=IIf(IsError([Orders subreport].[Report]![Shipping Fee Total]),0,[Orders subreport].[Report]![Shipping Fee Total])
В этом примере можно использовать более простое выражение =[Orders subreport].[Report]![Shipping Fee Total], но, если в подчиненном отчете не будет данных, его элемент управления в основном отчете отобразит значение #Error. Использование функции IsError в функции IIf (в первом выражении), гарантирует, что, если подчиненный отчет не возвратит никаких данных, в текстовом поле в основном отчете отобразится значение «ноль» (0).
Чтобы создать выражение с помощью построителя выражений, нажмите кнопку Построить в поле свойства Данные.
На вкладке Макет окна свойств назначьте свойству Формат соответствующее значение (в данном случае Денежный).
Сохраните основной отчет, перейдите в представление отчета и проверьте правильность вычислений.