MS Access查询:为什么从VB6应用程序调用LIKE时行为会有所不同?

问题描述 投票:2回答:6

我没有使用VB6进行很多编码,但是我现在正在更新现有的应用程序,只是遇到了障碍。

我想出了问题。在VB6中,使用LIKE时查询必须使用 通配符,但是在MS Access中,必须使用***** 通配符

我正在查询相同的数据库-(在MS Access中。)>

在MS Access中进行查询时,以下查询有效:

SELECT * FROM table WHERE field LIKE '*something*'

当我在VB6中构建该查询时,我必须这样做:

SELECT * FROM table WHERE field LIKE '%something%'

发生了什么事?那正常吗?

我没有使用VB6进行大量编码,但是我现在正在更新现有应用程序,并且遇到了一些麻烦。我解决了这个问题。在VB6中,使用LIKE时查询必须使用%通配符,但在MS中...

sql ms-access vb6
6个回答
5
投票

Access曾经有自己的SQL不兼容版本,因此出于传统原因,我认为它使用*。


5
投票

默认情况下,Access将使用ANSI-89通配符的子集VB6,通过ADO连接将使用ANSI-92。


1
投票

我不知道这是否适用于VB6,但是在Access中,您可以使用


0
投票

我从未见过星号字符用作like语句的通配符(仅在其他地方使用-一般说来,百分号是您需要使用的。


0
投票

是的,这很正常。


0
投票

是的,您可以在Jet 4.0 OLE DB查询中摆脱ALIKE(即从VB6使用ADO):

© www.soinside.com 2019 - 2024. All rights reserved.