我在做一个搜索表单。最重要的是,有几个组合框供用户选择一个标准组合。然后我构造一个Where字符串来筛选显示结果的子表单。表单加载和过滤器问题
Me.sub.SourceObject = "subResultType_1"
Me.sub.Form.Filter = strWhere
Me.sub.Form.FilterOn = True
此代码位于“搜索”按钮的单击事件中。
问题是,当执行Me.sub.SourceObject = "subResultType_1"
时,子窗体将显示所有记录。然后它被过滤。但是我想要的是子窗体在被过滤之前什么都不显示。这是因为我的程序将在相当慢的网络上用作前端/后端。 PS:我认为当WHERE部分的SQL子句或带有过滤器的表单过滤时,它会在后端被过滤。所以只有少量的数据会在网络上传输到前端。如果我错了,告诉我...
我现在所做的最像你的解决方案:我向子表单添加了一个“空白”过滤器:id ='',而不是空白记录源。 – darkjh 2011-06-20 07:23:55
与我的不同之处在于你的回报没有行,而我的回报是在不可编辑的空行上。我认为最好是显示行,因为它可以帮助用户了解他们在执行搜索时看到的内容,而空行不会(也不会显示空子表单控件,这就是为什么我不使用它方法)。 – 2011-06-20 18:55:38
另一个问题是,当我这样做时,设置一个'空白'过滤器或记录源,下次我使用这个表单时,它会记住上次的过滤器,而不是空白的过滤器......如何防止它记住它? – darkjh 2011-06-21 06:59:19