将 OpenArgs 传递给表单

Passing OpenArgs to Form

每条记录上带有命令按钮的主窗体(表格)。单击它会打开第二个表格,显示所点击记录的详细信息。

DoCmd.OpenForm "frm_sub_component", , , , , , Me.sub

第二个表单查询有...

HAVING (((tbl_sub.sub)=[forms]![frm_prime_select].[OpenArgs]));

Imideate windows 说 OpenArgs 有正确的值,但第二种形式没有接受它。

我不知道你为什么要使用 HAVING 子句,但通常情况下,如果你只有一个连续的表格并且你想查看每条记录的详细信息,显示详细信息表格的最简单方法是在DoCmd.OpenForm

否则,您可以在详细信息表单的 Form_Load 事件中拦截 OpenArgs 并在那里进行处理。如果你想在那个事件过程中,你可以修改 RecordSource 属性 来显示你想要的。

我更喜欢这种方式,因为我总是可以检查代码以查看正在做什么,而不是在幕后隐藏一些东西:-)

如果解决方案是您所期望的,请告诉我。

再见, 维兹

DoCmd.OpenForm "frm_sub_component", , , "sub='" & Me![sub] & "'"

打开 sub_form 的主窗体上的单击事件。