VBA代码在MS Access中不区分大小写的过滤器

Posted

技术标签:

【中文标题】VBA代码在MS Access中不区分大小写的过滤器【英文标题】:Case insensitive filter in MS Access by VBA code 【发布时间】:2016-12-29 16:03:28 【问题描述】:

我有一个通过 ODBC 连接到 mysql 数据库的 MS Access 前端。 我创建了一个简短的 VBA 代码,以根据用户的输入在连续表单上应用过滤器。 (即用户可以在列表中输入一些字母来搜索名称的任何部分,然后按“Enter”应用过滤器。)

我想让这个过程不区分大小写,但我不能。

我的代码是:

Option Compare Text    
Private Sub txbNameSearch_AfterUpdate()
 Me.Filter = "GuestName LIKE """ & "*" & TempVars!tvGuestName & "*" & """"
 Me.FilterOn = True
End Sub

我认为“选项比较文本”应该可以解决问题,但事实并非如此。 如何使过滤不区分大小写?

【问题讨论】:

您在表和连接中使用什么排序规则? 【参考方案1】:

您可以将其全部转换为 UCase 来执行此操作。

Me.Filter = "UCase([GuestName]) LIKE """ & "*" & UCase(TempVars!tvGuestName) & "*""""

【讨论】:

(不带“[”和“]”)

以上是关于VBA代码在MS Access中不区分大小写的过滤器的主要内容,如果未能解决你的问题,请参考以下文章

MS Access中的VBA中不接受变量名称

如何过滤 3 个文本框,然后在 MS Access VBA 中根据它们运行报告

MS Access 2016 VBA 导致“输入参数值”窗口

Ms-访问,VBA 错误

MS ACCESS, VBA 将外部 MS Access 表导入 SQL server 表

VBA 代码的结果在 Access 的文本框中不可见