根据同一文本框中的 2 个值过滤表单

Posted

技术标签:

【中文标题】根据同一文本框中的 2 个值过滤表单【英文标题】:Filter Form Based on 2 Values in the Same Text Box 【发布时间】:2020-08-05 01:06:34 【问题描述】:

我有一个名为 [Status] 的文本框,用户可以使用组合框来填充它。

我想根据文本框值中的两个潜在值 - PipelineForecast 过滤我的表单。过滤器由复选框激活。单击复选框获取[Status]PipelineForecast 的记录。

复选框代码很简单。我无法让 Access 过滤同一文本框中的两个可能值。

我试过了

Private Sub checkboxFilterActive_AfterUpdate()   

If checkboxFilterActive = True Then

   Me.Filter = "[status]='Pipeline'" And "[status]='forecast'" 'Filter Code
   
   Me.FilterOn = True
Else
    Me.FilterOn = False
End If

End Sub

这会引发类型不匹配错误。

我试过了

Private Sub checkboxFilterActive_AfterUpdate()

Dim strFilter As String

strFilter = "[Status]='Forecast'" & "'AND [Status] = 'Pipeline'"

If checkboxFilterActive = True Then

    DoCmd.ApplyFilter , strFilter
 
  
Else
    DoCmd.ShowAllRecords
End If

End Sub

这会引发语法错误(缺少运算符)查询表达式错误。

非常感谢任何帮助。

【问题讨论】:

【参考方案1】:

使用 OR 代替 AND。此外,OR 运算符是文字文本,需要在引号内才能构建标准字符串。

Me.Filter = "[status]='Pipeline' OR [status]='forecast'" 'Filter Code

【讨论】:

再次感谢@June7。非常感谢您的帮助。

以上是关于根据同一文本框中的 2 个值过滤表单的主要内容,如果未能解决你的问题,请参考以下文章

如何根据用户表单组合框选择查询单元格中的数据并将数据复制到用户表单文本框中

如何根据文本框值过滤列表框值

连续表单将文本框填充到另一个表单

如何通过文本框过滤数据表视图中的子表单? #likeoperator #where 子句

访问表单:在文本框中捕获日期更改

C# windows窗体中的文本框到数组声明