ACCESS 2010导航表单查询属性

时间:2012-02-23 00:47:41

标签: forms ms-access properties navigation

我遇到了一个问题,我搜遍了整个万维网:

我有一个导航表单,其中包含表单。 这些表单用于为我的查询提供属性。

例如:

FormStatus - >要求用户选择状态并将值拍摄到查询中。

这些查询构建报告。

主要问题是,现在我的表单处于导航表单中,该属性的链接不再有效。

以前的链接是:Forms!myForm!myProperty

现在我试过了

Forms!navigationForm!myForm!myProperty
Me!myForm!myProperty
Forms!ParentForm!SubForm.Form!FieldName

什么都没有用!!有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

作为过滤表单或报告的一般方法,您可以看到放置表单!表格中的引用在这里变得非常混乱。

您最好删除表单!来自所有查询的引用。然后构建一个用户输入值的表单,然后执行browseto命令。

您遇到的问题是新的导航表单会换出新表单的给定表单。这意味着旧表单不再加载。所以,要么你

计划A

转储表格使用! SQL查询中的命令。无论如何,这是一个好主意,因为一个查询不会爆炸,因为一些愚蠢的形式是不公开的。更重要的是,查询可以在应用程序的其他位置使用,而不用担心某些形式没有被打开。

您下表的那一刻!查询内部的引用就是您破坏该查询并立即将该查询“绑定”到一个必须打开的表单。

计划b:

转储使用新的导航控制系统。请记住,新的导航系统不会加载下一个表单,而是“替换”正在显示的表单。因此,以前的形式不再被加载,因此没有形式! ref是允许的。更糟糕的是,由于导航表单实际上是使用子表单,那么表单!引用必须改变。

您当然可以获取控件的值并在代码中构建where子句,并在此处将其用于openform或open report命令。

最后但并非最不重要的一点是,如果你经常遭受酷刑,你可以坚持使用现有的糟糕设计,只需重新编辑并修复所有形式!引用反映出它们现在正在父表单中使用,并且所有表单现在都在作为子表单运行。

答案 1 :(得分:0)

尝试在属性!

之前使用点而不是Forms!navigationForm!myForm.myProperty