使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

如果你有一个很长的多项目窗体,有时你想要快速"向下钻取"以查看有关单个项目的详细信息。 可通过将多项目窗体链接到单项目窗体,在 Access 中实现此要求。 单击多项目窗体中的项目时,单项目窗体将打开以显示详细信息。

单击多项目窗体上的 ID 以打开单项目窗体。

注意: 

  • 本文不适用于 Access Web 应用 - 使用 Access 设计并联机发布的数据库类型。

  • 如果通过"链接"来表示其他内容,请参阅本文 末尾的其他类型的表单链接。

创建窗体

在大多数情况下,向下钻取配置中的两个窗体基于同一个表或查询。 如果已有一对想要使用的窗体 (一个窗体是数据表或多个项目窗体,另一个窗体是单个项目或"详细信息"窗体) ,可以跳过本部分。 否则,请使用以下过程创建它们:

创建数据表或多项目窗体:

  1. 在导航窗格中,选择包含数据表窗体上需要的数据的表或查询。

  2. 单击">窗体",然后单击"多个项目"或"数据",具体取决于您需要哪种类型。

  3. 进行想要的任何设计更改。 请考虑删除尽可能多的列,仅保留足够的信息来标识每个项目。

  4. 保存并关闭窗体。

有关多项目窗体的详细信息,请参阅"使用多项目工具创建窗体"。

创建单个项或"详细信息"窗体:

  1. 在导航窗格中,选择包含详细信息窗体上需要数据的表或查询。 这很可能是用于第一个窗体的同一个表或查询。

  2. 单击 "创建 > 窗体

  3. 进行想要的任何设计更改,然后保存并关闭窗体。

有关详细信息,请参阅"使用窗体工具创建窗体"。

添加用于打开详细信息窗体的逻辑

现在,向多项目或数据表窗体添加一个小宏。 宏将打开详细信息窗体,并确保显示正确的项。

如果尚未对宏执行太多操作,请不要担心;只需复制并粘贴在此过程找到的 XML。

  1. 如果使用数据表窗体,请在导航窗格中双击它以打开它。 对于多项目窗体,请在导航窗格中右键单击它,然后单击"布局视图"。

  2. 按 F4 打开属性表(如果尚未打开)。

  3. 单击要添加宏的列。 这是在宏完成后单击以打开详细信息窗体的列。 在上图中,宏将添加到 frmContactList 的 ID 列。

提示:  可以将宏添加到多个列。

  1. 在属性表的"事件"选项卡上,单击"单击"或"单击Dbl"属性框 (具体取决于希望窗体通过单次单击还是双击字段) 打开,然后单击"生成"按钮 按钮图像

  2. 如果 Access 提示你选择生成器,请选择"宏生成器",然后单击"确定"。

  3. 选择此 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>

  4. 单击"添加新操作"下拉列表 (下方的宏生成器的空白区域) ,然后按 Ctrl+V 粘贴宏操作。 如果一切顺利,在宏生成器中将看不到 XML - 它将扩展为更具可读性的宏块,如下一步所示。

  5. 如有必要,将表单名称 (frmContactDetails) 和链接列名称 (ID) 替换为表单名称和用于链接两个窗体的列。 下图显示了可能需要进行编辑以匹配自己的标识符名称的地方

    将其置于可能需要编辑样本宏的位置,以匹配数据库的标识符名称。

  6. 在"设计"选项卡上,单击"保存",然后单击"关闭"。

  7. 如果希望可单击列 () 显示为超链接,以便用户知道他们可以单击它,请确保该列仍处于选中状态,在"属性表"中,单击"格式"选项卡,将"显示为超链接"属性设置为"始终"。

  8. 保存并关闭窗体,然后重新打开它并单击或双击修改的列来测试宏。

有关桌面数据库中的宏详细信息,请参阅"向桌面数据库中的控件添加逻辑"。

其他类型的表单链接

若要创建窗体/子窗体组合并链接在一起,请参阅"创建包含子窗体的窗体 (一 对多窗体) 。

若要创建链接到数据源(如表或查询)的窗体,请参阅"使用窗体工具创建窗体"。

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×