我的数据库有几个表来分割报告的大量属性。
我创建了一系列表单,用“下一步”按钮输入数据,该按钮关闭表单并打开下一页。
如何在表单之间传递主键?我想让它自动填充,以便用户不必在每个表单上重新键入它。
编辑:每个表单对应一个表。在该表单上单击“下一步”之前,该表/表单的条目不存在。
答案 0 :(得分:1)
将WhereCondition与Docmd.OpenForm一起使用。 (见OpenForm Method)
因此,如果您的下一个表单名为frmTwo,则主键字段名为ID,当前表单具有名为txtID的控件,该控件包含您要传递给下一个表单的值:
DoCmd.OpenForm "frmTwo", WhereCondition:="ID = " & Me.txtID
该建议假定ID是数字数据类型。如果是文本,则在构建WhereCondition时必须用引号括起Me.txtID值。
修改:我不明白你的情况。不确定我现在也这样做,但我怀疑最简单的“免代码”解决方案是使用主表单和子表单作为子控件。然后通过设置链接主/子字段属性,您可以自动将主键值传输到各种子表单中的新记录。
如果辅助表格的数量很大,您可以将它们作为单独的页面包含在主表单的选项卡控件中。
这种方法可以很方便地访问Access,无需额外的VBA代码或宏。