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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)