Ric*_*ook 6 sql ms-access vba sql-like
我有一个简单的查询,但遇到了LIKE在VBA中使用的问题.我在VBA中的SQL字符串是:
stsql1 = "Select Top 25 data.* from data where data.Description Like ('*') "
Run Code Online (Sandbox Code Playgroud)
当我在我的VBA代码中运行此sql字符串时,我没有返回任何记录,但是如果我将相同的字符串复制/粘贴到MS Access中的SQL视图中的查询中,则查询将返回我期望的值.在VBA中使用"Like"语法有诀窍吗?
如果有帮助,我可以提供额外的代码和数据库的小版本.
对于SQL,数据库引擎将接受单引号或双引号作为文本分隔符.因此,这两个WHERE条款中的任何一个都可行.
WHERE some_field Like '*'
WHERE some_field Like "*"
Run Code Online (Sandbox Code Playgroud)
但是,VBA只接受双引号作为文本分隔符,因此您必须使用第二种形式.
关于你的SELECT陈述的另外两点:
Select Top 25 data.* from data where data.Description Like ('*')
Run Code Online (Sandbox Code Playgroud)
TOP [number]没有ORDER BY条款是任意的Like模式周围不需要括号......你可以使用Like "*"如果您的VBA代码在该SELECT语句中使用ADO ,则必须将通配符更改*为%...
WHERE data.Description Like '%'
Run Code Online (Sandbox Code Playgroud)
在ADO/VBA中,您必须使用%而不是*作为通配符.我过去碰到过几次......
| 归档时间: |
|
| 查看次数: |
49146 次 |
| 最近记录: |