You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA中Where Like子句单引号的作用?Access组合框代码解析

Access 2016组合框自动填充VBA代码中的单引号与*'作用解析

先看拼接完成后最终生成的SQL语句示例:假设你在组合框中输入了App,最终的strRowSource会是:

SELECT DISTINCT [Purchase ledger].Supplier FROM [Purchase ledger] WHERE Supplier Like 'App*'

第一次拼接的单引号(')的作用

在Access SQL语法中,文本类型的字段值必须用单引号(或双引号)包裹,以此区分文本常量和字段名/关键字。这里的'是用来开启文本匹配的字符串边界——它告诉SQL引擎:接下来的内容是一个文本常量,不是字段名或其他SQL语法元素。

如果没有这个单引号,SQL会把用户输入的内容当成字段名或关键字,直接触发语法错误,因为数据库里不存在对应用户输入内容的字段。

第三次拼接的*'的作用

这部分是两个功能元素的组合:

  1. *:Access SQL中的通配符,表示「任意长度的任意字符」(等同于标准SQL里的%)。在这里用来实现「前缀匹配」——只要供应商名称以用户输入的文本开头,就会被筛选出来。
  2. ':用来闭合前面开启的字符串边界,告诉SQL引擎文本常量到此结束。

两者结合*',就是把用户输入的文本作为前缀,匹配所有以该前缀开头的供应商名称,最终生成合法的Like匹配条件,实现组合框输入时的自动筛选填充效果。

举个实际场景:当你输入Mic时,生成的条件是Supplier Like 'Mic*',会匹配Microsoft、Microtech、Michaels等所有以Mic开头的供应商选项。


内容的提问来源于stack exchange,提问作者Steve Bennett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:23:10