Access 2003 / VBA:以表单顺序打开Argument / WHERE

时间:2012-04-20 17:24:21

标签: ms-access

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

在A中,从用户那里询问参数,这些参数将作为B中显示的表子集的where-condition(使用DoCmd.OpenForm和“Detail”-method)。

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

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

问题2:我想要一个“后退”按钮(A< -B,B< -C-C等)。我先关闭了它,但后来有时会出现在意想不到的地方。向后使用上述解决方案 - 好吧,首先,它甚至没有向前工作,其次,即使它确实如此,它似乎也是如此低效,因为搜索的那部分已经完成。

我从我的观点和经验中描述了这个问题,但不要感到“锁定”。如果你知道一种完全不同的方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

如果修改代码只是在传递值时尝试使用OpenArgs,也许可以消除OpenArgs方法中的错误。

If Not IsNull(Me.OpenArgs) Then
    ' do something with OpenArgs
End If