我遇到了一个问题,我搜遍了整个万维网:
我有一个导航表单,其中包含表单。 这些表单用于为我的查询提供属性。
例如:
FormStatus - >要求用户选择状态并将值拍摄到查询中。
这些查询构建报告。
主要问题是,现在我的表单处于导航表单中,该属性的链接不再有效。
以前的链接是:Forms!myForm!myProperty
现在我试过了
Forms!navigationForm!myForm!myProperty
Me!myForm!myProperty
Forms!ParentForm!SubForm.Form!FieldName
什么都没有用!!有人能帮助我吗?
答案 0 :(得分:1)
作为过滤表单或报告的一般方法,您可以看到放置表单!表格中的引用在这里变得非常混乱。
您最好删除表单!来自所有查询的引用。然后构建一个用户输入值的表单,然后执行browseto命令。
您遇到的问题是新的导航表单会换出新表单的给定表单。这意味着旧表单不再加载。所以,要么你
计划A
转储表格使用! SQL查询中的命令。无论如何,这是一个好主意,因为一个查询不会爆炸,因为一些愚蠢的形式是不公开的。更重要的是,查询可以在应用程序的其他位置使用,而不用担心某些形式没有被打开。
您下表的那一刻!查询内部的引用就是您破坏该查询并立即将该查询“绑定”到一个必须打开的表单。
计划b:
转储使用新的导航控制系统。请记住,新的导航系统不会加载下一个表单,而是“替换”正在显示的表单。因此,以前的形式不再被加载,因此没有形式! ref是允许的。更糟糕的是,由于导航表单实际上是使用子表单,那么表单!引用必须改变。
您当然可以获取控件的值并在代码中构建where子句,并在此处将其用于openform或open report命令。
最后但并非最不重要的一点是,如果你经常遭受酷刑,你可以坚持使用现有的糟糕设计,只需重新编辑并修复所有形式!引用反映出它们现在正在父表单中使用,并且所有表单现在都在作为子表单运行。
答案 1 :(得分:0)
尝试在属性!
Forms!navigationForm!myForm.myProperty