【发布时间】:2020-07-13 20:00:54
【问题描述】:
我正在从名为 cboOpeningType 的组合框中过滤名为 sfrWorklistFilter 的表单。记录源来自表单上的嵌入式查询。如果我从组合框中进行选择,则过滤器可以使用以下代码正常工作:
Forms![sfrWorklistFilter]![cboOpeningType]
但是我需要在没有选择的情况下返回所有记录,在这种情况下我使用以下代码:
Like Forms![sfrWorklistFilter]![cboOpeningType] & "*"
过滤器不会给出完全匹配,而是给出以组合框上的字母开头的所有记录。
我需要记录的完全匹配,或者如果没有选择所有记录。
有什么建议吗?
【问题讨论】:
-
困惑?没有选择时,为什么组合框会选择一个字母?
-
我想我现在明白你的意思了 - 你正在尝试设置一个固定的 Filter 属性 - 不是在 cboOpeningType AfterUpdate 事件的 VBA 代码中,对吗?
-
@dbmitch 你是对的,我没有在 VBA 中设置过滤器属性。我试图使用组合框值在表单的嵌入式查询中设置 SQL。我有三个组合框,并试图根据它们的值过滤三个字段。如果我不输入值,我想返回该字段的所有记录。组合框的行源将单个字母选择作为值之一。 When that letter is selected all records that begin with that letter.当组合框中没有任何内容时,我根本没有得到任何结果。
-
您在上面显示的内容仍然没有意义。您的表单过滤器中至少需要一个字段 - 您没有。这显然必须随着每个组合框而改变。
-
@dbmitch 我也找到了。我花了一点时间。 “过滤器”效果很好。谢谢你的时间。
标签: ms-access vba ms-access-2013