Если у вас есть длинная форма с несколькими элементами, иногда требуется быстро выполнить детализацию, чтобы просмотреть дополнительные сведения об одном элементе. Это можно сделать в Access, связав форму с несколькими элементами с формой с одним элементом. Если щелкнуть элемент в форме с несколькими элементами, откроется форма с одним элементом, чтобы отобразить подробные сведения.
Примечания:
-
Эта статья не относится к веб-приложениям Access — типу базы данных, которую вы разрабатываете с помощью Access и публикуете в Интернете.
-
Если вы имели в виду что-то другое под "связыванием", см. раздел Другие типы ссылок формы в конце этой статьи.
Создание форм
В большинстве случаев две формы в конфигурации детализации основаны на одной таблице или запросе. Если у вас уже есть пара форм, которые вы хотите использовать (одна из них является формой таблицы или нескольких элементов, а другая — формой с одним элементом или формой с подробными данными), этот раздел можно пропустить. В противном случае используйте следующие процедуры для их создания:
Создайте таблицу или форму с несколькими элементами:
-
В области навигации выберите таблицу или запрос, содержащие нужные данные в форме таблицы.
-
Щелкните Создать > Дополнительные Forms, а затем выберите Пункт Несколько элементов или Таблица в зависимости от того, какой тип вы хотите.
-
Внесите любые изменения в дизайн. Рассмотрите возможность удаления как можно больше столбцов, оставив достаточно информации для идентификации каждого элемента.
-
Сохраните и закройте форму.
Дополнительные сведения о формах с несколькими элементами см. в статье Создание формы с помощью средства "Несколько элементов".
Создайте форму с одним элементом или "подробными сведениями":
-
В области навигации выберите таблицу или запрос, содержащие нужные данные в форме сведений. Это, скорее всего, та же таблица или запрос, которые использовались для первой формы.
-
Щелкните Создать > форму.
-
Внесите необходимые изменения, а затем сохраните и закройте форму.
Дополнительные сведения см. в статье Создание формы с помощью средства Формы.
Добавление логики, открывающей форму сведений
Теперь, чтобы добавить небольшой макрос в форму с несколькими элементами или таблицу. Макрос открывает форму сведений и проверяет, что отображается правильный элемент.
Не беспокойтесь, если вы не сделали много работы с макросами; Вы можете просто скопировать и вставить XML-код, который вы найдете в этой процедуре.
-
Если вы используете форму таблицы, дважды щелкните ее в области навигации, чтобы открыть ее. Для формы с несколькими элементами щелкните ее правой кнопкой мыши в области навигации и выберите режим макета.
-
Нажмите клавишу F4, чтобы открыть страницу свойств, если она еще не открыта.
-
Щелкните столбец, в который нужно добавить макрос. Это будет столбец, который вы щелкаете, чтобы открыть форму сведений по завершении макроса. На рисунке выше макрос добавляется в столбец идентификатора frmContactList.
Совет: Макрос можно добавить в несколько столбцов.
-
На вкладке Событие страницы свойств щелкните поле свойства On Click или On Dbl Click (в зависимости от того, нужно ли открыть форму одним щелчком или дважды щелкнув поле), а затем нажмите кнопку Сборка
. -
Если Access предложит выбрать построитель, выберите построитель макросов и нажмите кнопку ОК.
-
Выберите этот блок XML и нажмите клавиши CTRL+C, чтобы скопировать его в буфер обмена: <?xml version="1.0" encoding="UTF-16" standalone="no"?> <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"> <UserInterfaceMacro For="ID" Event="OnClick"><Statements><Action Name="OnError"><Argument Name="Goto">Macro Name</Argument><Argument Name="MacroName">ErrorHandler</Argument></Action> <ConditionalBlock><If><Condition>[Form].[Dirty]</Condition><Statements><Action Name="SaveRecord"/></Statements></If></ConditionalBlock> <ConditionalBlock><If><Condition>IsNull([ID])</Condition><Statements><Comment>Open the form to a new record if the current ID is Null</Comment><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="DataMode">Add</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="Requery"/></Statements></If><Else><Statements><Comment>Use a TempVar to pass a filter to the OpenForm action</Comment><Action Name="SetTempVar"><Argument Name="Name">Contact_ID</Argument><Argument Name="Expression">[ID]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="WhereCondition">[ID]=[TempVars]![Contact_ID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="RemoveTempVar"><Argument Name="Name">Contact_ID</Argument></Action><Action Name="RefreshRecord"/></Statements></Else></ConditionalBlock> </Statements></UserInterfaceMacro></UserInterfaceMacros>
-
Щелкните пустую область построителя макросов (под раскрывающимся списком Добавить новое действие ) и нажмите клавиши CTRL+V, чтобы вставить макрокоманды. Если все пойдет хорошо, вы вообще не увидите XML-код в построителе макросов— он будет развернут в более читаемые блоки макросов, как показано на следующем шаге.
-
При необходимости замените имя формы (frmContactDetails) и имя столбца ссылки (ID) именем формы и столбца, который вы используете для связывания двух форм. На рисунке ниже показано, где может потребоваться внести изменения в соответствии с собственными именами идентификаторов:
-
На вкладке Конструктор нажмите кнопку Сохранить , а затем — Закрыть.
-
Если вы хотите, чтобы столбцы, доступные для перехода, отображались как гиперссылка, чтобы пользователи знали, что они могут щелкнуть его, убедитесь, что столбец по-прежнему выбран, а затем на странице свойств щелкните вкладку Формат и задайте для свойства Показать как гиперссылкузначение Always.
-
Сохраните и закройте форму, а затем снова откройте ее и протестируйте макрос, щелкнув или дважды щелкнув измененный столбец.
Дополнительные сведения о макросах в классических базах данных см. в разделе Добавление логики в элемент управления в классической базе данных.
Другие типы компоновки форм
Сведения о создании сочетания форм и подчиненной формы и их связывании см. в статье Создание формы, содержащей подчиненную форму (форма "один ко многим").
Сведения о создании формы, связанной с источником данных, например с таблицей или запросом, см. в статье Создание формы с помощью средства формы.