Если у вас длинная форма с несколькими пунктами, иногда нужно быстро "развернуть", чтобы увидеть дополнительные сведения об одном элементе. Это можно сделать в Access, связав форму с одним элементом. При щелчке элемента в форме с несколькими пунктами открывается форма с подробными сведениями.
Создание форм
В большинстве случаев две формы в drill-down configuration основаны на одной таблице или запросе. Если у вас уже есть пара форм, которые вы хотите использовать (одна из них — таблица или форма с несколькими пунктами, а другая — форма с одним элементом или с подробностями), этот раздел можно пропустить. В противном случае их можно создать с помощью указанных здесь процедур.
Создание таблицы или формы с несколькими пунктами
-
В области навигации выберите таблицу или запрос с данными, которые должны быть в форме таблицы.
-
Нажмите кнопку > "Другиеформы", а затем выберите пункт "Несколько элементов" или "Таблица" взависимости от того, какой тип формы вам нужен.
-
Внести нужные изменения в оформление. Удаляйте как можно больше столбцов, оставляя достаточно информации для идентификации каждого элемента.
-
Сохраните и закройте форму.
Дополнительные сведения о формах с несколькими элементами см. в статье "Создание формы с помощью инструмента "Несколько элементов".
Создание формы для одного элемента или формы detail:
-
В области навигации выберите таблицу или запрос с данными, которые должны быть в форме данных. Скорее всего, это будет та же таблица или запрос, которые использовались для первой формы.
-
Нажмите кнопку ">форму".
-
Внести нужные изменения в оформление, а затем сохранить и закрыть форму.
Дополнительные сведения см. в инструменте "Форма"для создания формы.
Добавление логики, открываемой в форме подробностей
Теперь нужно добавить немного макроса в форму для нескольких элементов или таблицы. Макрос откроет форму подробностей и отобразит правильный элемент.
Не беспокойтесь, если вы мало работали с макросами. вы можете просто скопировать и вкопировать XML-текст, который вы найдете в этой процедуре.
-
Если используется форма таблицы, дважды щелкните ее в области навигации, чтобы открыть. Для формы с несколькими пунктами щелкните ее правой кнопкой мыши в области навигации и выберите пункт "Макет".
-
Если лист свойств еще не открыт, нажмите F4, чтобы открыть его.
-
Щелкните столбец, в который нужно добавить макрос. Это будет столбец, который вы щелкаете, чтобы открыть форму подробностей по завершению макроса. На рисунке выше макрос добавляется в столбец "ИД" frmContactList.
Совет: Макрос можно добавить в несколько столбцов.
-
На вкладке "События" окна свойств щелкните поле свойства "Нажатие кнопки" или "Нажатие кнопки "Нажать кнопку" (в зависимости от того, хотите ли вы открыть форму, щелкнув поле одним или двойным щелчком), а затем нажмите кнопку "Построить" .
-
Если 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) именем формы и столбцом, который используется для связывания двух форм. На рисунке ниже показано, где может потребоваться внести изменения, чтобы совме собственные имена идентификаторов:
-
На вкладке "Конструктор" нажмите кнопку "Сохранить" и выберите "Закрыть".
-
Если вы хотите, чтобы столбцы со ссылками отображались как гиперссылки, чтобы другие люди знали, что они могут щелкать их, убедитесь, что столбец по-прежнему выбран, а затем на вкладке "Формат" установите для свойства "Показывать как гиперссылку" задав для свойства "Показывать как гиперссылки" задав для свойства "Всегда".
-
Сохраните и закроем форму, а затем снова и проверьте макрос, щелкнув измененный столбец или дважды щелкнув его.
Дополнительные сведения о макросах в базах данных рабочего стола см. в теме "Добавление логики в управление в базе данных рабочего стола".
Другие типы связывания форм
Сведения о том, как создать комбинацию формы или подчиненной формы и связать их друг с другом, см. в документе "Создание формы, которая содержит подчиненную форму (форма "один-к-многим").
Сведения о создании формы, связанной с источником данных, например таблицей или запросом, см. в инструменте "Создание формы".