Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

VBA编程-字符串表达式中的引号

时 间:2022-12-08 08:13:28
作 者:福哥(QQ86053924)   ID:1784  城市:成都
摘 要:如果必须构建要连接的字符串,可能需要在一个字符串中嵌入另一个字符串,或在字符串中嵌入一个字符串变量。
正 文:

如果必须构建要连接的字符串,可能需要在一个字符串中嵌入另一个字符串,或在字符串中嵌入一个字符串变量。 在下列情况下,可能需要在一个字符串中嵌套另一个字符串:

·         为域聚合函数指定条件。

·         为 Find 方法指定条件。

·         为窗体的 Filter 或 ServerFilter 属性指定条件时。

·         创建 SQL 字符串时。

在所有这些实例中,Access 必须将字符串传递给 Access 数据库引擎。 例如,在为域聚合函数指定 criteria 参数时,Access 必须计算任何变量,将它们连接成一个字符串,然后将整个字符串传递给 Access 数据库引擎。

如果嵌入数值变量,Access 将计算该变量,并简单地将值连接到字符串中。 但是,如果变量是文本字符串,则生成的条件字符串将在字符串中包含一个字符串。 字符串中的字符串必须由字符串分隔符标识。 否则,Access 数据库引擎将无法确定字符串的哪一部分是要使用的值。

字符串分隔符实际上不是变量自身的某一部分,但是它们必须包含在 criteria 参数的字符串中。 可以用三种不同的方法来构造 criteria 参数的字符串。 每一种方法所产生的 criteria 参数应该如下列示例之一:

VB复制

"[LastName] = 'Smith'"

VB复制

"[LastName] = ""Smith"""

包含单引号

应该在 criteria 参数中包含单引号,这样在将变量值连接到字符串中时,它就会包含在单引号中。 例如,假设 criteria 参数必须包含名为 的 strName字符串变量。 可以如下所示构建 criteria 参数:

VB复制

"[LastName] = '" & strName & "'"

当计算变量 strName 并将其连接到 条件 字符串时, 条件 字符串将变为:

VB复制

"[LastName] = 'Smith'"

 备注

这种语法不允许在变量自身的值中使用单引号 (')。 如果字符串变量的值包含单引号,Access 将会产生一个运行时错误。 如果变量可能代表包含单引号的值,请考虑使用在下节中讨论的其他语法形式。

包含双引号

应该在 criteria 参数中包含双引号,这样在计算变量值时,其结果就会包含在双引号中。 在字符串中,必须使用两组双引号来代表一组双引号。 可以如下所示构建 criteria 参数:

VB复制

"[LastName] = """ & strName & """"

当计算变量 strName 并将其连接到 criteria 参数时,每组两个双引号将替换为一个单引号。 criteria 参数将变为:

VB复制

"[LastName] = 'Smith'"

此语法看起来可能比单引号语法更复杂,但它使您能够在 criteria 参数中嵌入包含撇号的字符串。 它还使你能够在嵌入的字符串中嵌套一个或多个字符串。

包含表示引号的变量

可以创建一个代表双引号的字符串变量,并将该变量与变量值一起连接到 criteria 参数中。 双引号的 ANSI 表示形式为 Chr$(34);可以将此值分配给名为 的 strQuote字符串变量。 然后您可以如以下示例所示构建 criteria 参数:

VB复制

"[LastName] = " & strQuote & strName & strQuote

当计算出变量值并将其连接到 criteria 参数中后,criteria 参数变为:

VB复制

[LastName] = "Smith"



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助