将窗体链接在一起

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

如果您有一个较长的多项目窗体,有时要快速“向下钻取”以查看有关单个项目的更多信息。您可以在 Access 中通过将多项目窗体链接到单项目窗体来执行此操作。当您单击多项目窗体中的一个项目时,单项目窗体打开以显示详细信息。

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

注释: 

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

  • 如果您想要了解其他内容"链接",请参阅本文末尾的其他类型的窗体链接

创建窗体

大多数情况下,向下钻取配置中的两个窗体基于同一个表格或查询。如果您已拥有一对要使用的窗体(一个是数据表或多项目窗体,另一个是单项目或“详细信息”窗体),则您可以跳过此部分。否则,使用这些步骤创建窗体:

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

  1. 在“导航”窗格中,单击包含要在数据表窗体上显示数据的表格或查询。

  2. 单击“创建”>“更多窗体”,然后根据所需的种类,单击“多项目”或“数据表”。

  3. 进行所需的任何设计。请考虑尽可能多地删除栏,仅留下识别每个项目的足够信息即可。

  4. 保存并关闭窗体。

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

创建单项目或“详细信息”窗体:

  1. 在“导航”窗格中,单击包含要在详细信息窗体上显示数据的表格或查询。这可能与您用于第一个窗体的表格或查询相同。

  2. 单击“创建”>“窗体”。

  3. 进行所需的任何设计,然后保存并关闭窗体。

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

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

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

如果您尚未利用宏处理过多少工作,请不要担心;您只需复制并粘贴您将在此过程中找到的 XML。

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

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

  3. 单击要向其添加宏的栏。宏结束时,此栏将是您单击它可打开“详细信息”窗格的栏。在上面的图片中,宏被添加到 frmContactList 的 ID 栏中。

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

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

  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 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×