1

有一系列形式 A -> B -> C 等。

在 A 中,向用户询问参数,这些参数将作为 B 中所示的表子集的 where 条件(使用 DoCmd.OpenForm 和“Detail”方法)。

我还使用 A 中的参数在 B 中制作漂亮的标题。

问题1:如果B中没有任何命中(显示0条记录),则用于标题的参数(即B的表格内容的搜索关键字)丢失,因此出现错误。我试图通过将参数作为“开放参数”发送来解决这个问题 - 这将给出正确的标题,只有没有搜索结果(即,如果没有命中,则为正确的结果)。但是,然后,如果您从任何其他位置打开表单,例如 Access 中的表单菜单,则会出现错误。

问题 2:我想要一个“返回”按钮(A <- B、B <- C 等)。我只是先关闭,但有时我会在意想不到的地方结束。向后使用上述解决方案 - 嗯,首先,它甚至不能向前工作,其次,即使这样做了,它似乎效率很低,因为搜索的那部分已经完成。

我从我的观点和经验描述了这个问题,但不要觉得被“锁定”。如果您知道完全不同的方法,请告诉我。

4

1 回答 1

1

如果您将代码修改为仅在传递值时OpenArgs尝试使用,也许您可​​以消除该方法中的错误。OpenArgs

If Not IsNull(Me.OpenArgs) Then
    ' do something with OpenArgs
End If
于 2012-04-20T17:58:25.453 回答