筛选Microsoft Access子窗体

时间:2013-07-30 14:17:50

标签: vba ms-access access-vba

我有一个填充了不同任务的子表单。我希望使用自动发生的过滤器在DUE_DT上过滤它们。有些记录有空白DUE_DT,我想提交。我还要过滤掉DUE_DT超过30天的记录。我尝试使用VB,但我还没有找到合适的语法。

3 个答案:

答案 0 :(得分:3)

以下是将过滤器应用于子表单的一些语法:

Forms!MyMainForm.ASubFormOnMyMainForm.Form.Filter = "whatever your filter is"
Forms!MyMainForm.ASubFormOnMyMainForm.Form.FilterOn = True

答案 1 :(得分:0)

在VBA中尝试此操作,应该适用于您放入的每个表单或模块:

Form_subFormName.Filter = "DUE_DT IS NOT NULL AND DUE_DT >= #" & (Date - 30) & "#"
Form_subFormName.FilterOn = True

subFormName中的Form_subFormName替换为子表单的名称,但保留Form_

答案 2 :(得分:0)

“我希望使用自动发生的过滤器在DUE_DT上过滤它们。”

我不太确定你的想法,但我想知道是否可以通过子窗体的记录源查询中的WHERE子句来处理。

WHERE DUE_DT >= Date() - 30

在过滤器始终适用的意义上,这将是自动的。

请注意,您不必添加其他条件来明确排除Null(例如DUE_DT Is Not Null),因为Null不是>= Date() - 30