【问题标题】:How to create a form for each entry/record in a table in Microsoft Access 2013?如何为 Microsoft Access 2013 中的表中的每个条目/记录创建表单?
【发布时间】:2015-06-08 18:22:53
【问题描述】:

我在 MS Access 2013 中有一个包含 217 条记录的表格。我想为每条记录创建一个表格,但是有没有办法在不手动设计每条记录的情况下做到这一点?

我的总体目标是创建一个包含站点列表的表格,并在另一个字段中列出它们所属的信任,当我单击信任的名称时,我会进入一个包含有关该信任的所有信息的表单。

提前谢谢你!

珍娜

【问题讨论】:

  • 我尝试过使用宏和运行查询,但无济于事。

标签: sql ms-access database-design macros relational-database


【解决方案1】:

表格是表格的可视化表示。对于单个表单,每条记录都显示在每个可导航页面上。另外,单个表单可以有子表单。对于连续表单(多项目表单)或数据表,可在可滚动页面上显示多条记录。

您不需要为每条记录创建一个新表单,而是使用相同的表单,使用 DoCmd.OpenForm 方法的 where 参数过滤到特定记录。在您的示例中,在打开其他表单的按钮后面,过滤过滤到该特定信任的打开表单:

VBA 路由

DoCmd.OpenForm "OpeningFormName",  acNormal,  , "TrustID=" & Forms!MainFormName!TrustID"

宏路线

Action: OpenForm  (search drop down)
Form Name: OpeningFormName (search drop down)
Filter: [leave blank]
Where Condition =: TrustID=Forms!MainFormName!TrustID
Data Mode: [leave blank]
Window Mode: [leave default of Normal]

【讨论】:

  • 感谢您的回复冻糕。你说的有道理,但我似乎无法实施。我可以输入代码的唯一地方是当我转到表单上的按钮的“构建事件”时。然后它要求我选择一个操作 (OpenForm) 表单名称、视图、过滤器名称和 Where 条件。我将您的代码放在过滤器名称下,因为它不会在 Where 条件下接受它。可悲的是它不起作用。我提前道歉,因为我对这一切都很陌生。谢谢!
  • 您正在设置宏生成器。我的代码用于 VBA(代码生成器选项)。但请参阅我上面的编辑。基本上,在On Click 选项中主窗体上的新按钮的事件选项卡下,有三个构建器选项,其中两个我在上面显示(都是等效的触发器)。对于代码生成器,您将上面的 VBA 行放置在光标所在的弹出 IDE 窗口中。
  • 再次感谢您的回答。我想你误会我了。我想在表格中创建一个链接以转到表格。例如:Site Name Aberdeen Hospital Cardiff Hospital Trust Scotland NHS Trust Wales NHS Trust 然后我希望能够单击信托的名称,然后将其带入一份载有该信托详情的表格。如果可以吗?
  • 当然可以,珍娜。但是表格没有作为表单的用户界面,特别是没有触发事件。考虑一个multiple item form,它的行结构类似于表。然后在 trust 字段中,有一个 On Click 或 Double Click 事件(与按钮相同的事件构建过程)打开一个过滤(按 TrustID)Trust(单项)表单,其中包含所有 Trust 详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多