Access VBA教程:字符串中的引号
时 间:2019-04-26 22:12:27
作 者:杨雪 ID:42182 城市:南京
摘 要:如果必须构建要连接的字符串,可能需要在一个字符串中嵌入另一个字符串,或在字符串中嵌入一个字符串变量。
正 文:
下列情况需要在字符串中嵌套另一个字符串:
- 为域聚合函数指定条件时。
- 为 Find方法指定条件时。
- 为窗体的Filter 或ServerFilter属性指定条件时。
- 创建 SQL 字符串时。
在所有这些实例中,Microsoft Access 必须将字符串传递给Microsoft Jet 数据库引擎。例如,为域聚合函数指定 criteria参数时,Microsoft Access 必须计算所有的变量,将它们连接为一个字符串,然后将整个字符串传递给 Jet 数据库引擎。
如果嵌入了一个数值变量,Microsoft Access 将计算该变量并简单地将值连接到字符串。然而,如果变量是文本字符串,生成的条件字符串将在字符串中包含另一个字符串。字符串中的另一个字符串必须由字符串分隔符来标识,否则,Jet 数据库引擎将不能确定应该使用该字符串的哪一部分。
字符串分隔符实际上不是变量自身的某一部分,但是它们必须包含在 criteria参数的字符串中。有三种不同的方法可以建立 criteria参数的字符串。每一种方法所产生的 criteria参数应该如下列示例之一:
"[LastName] = 'Smith'"
– 或者–
"[LastName] = ""Smith"""
包含单引号
应该在 criteria参数中包含单引号,这样在将变量值连接到字符串中时,它就会包含在单引号中。例如,假设您的 criteria参数必须包含一个叫做strName 的字符串变量。可以如下所示构建 criteria参数:
"[LastName] = '" & strName & "'"
在计算变量strName 的值并将它连接到 criteria 字符串后,criteria 变量变为:
"[LastName] = 'Smith'"
注意 这种语法不允许在变量自身的值中使用单引号 (')。如果字符串变量的值包含单引号,Microsoft Access 将会产生一个运行时错误。如果变量可能代表包含单引号的值,请考虑使用在下节中讨论的其他语法形式。
包含双引号
应该在 criteria参数中包含双引号,这样在计算变量值时,其结果就会包含在双引号中。在字符串中,必须使用两组双引号来代表一组双引号。可以如下所示构建 criteria参数:
"[LastName] = """ & strName &
""""
当计算变量strName 的值并将它连接到 criteria参数后,每组双引号被一个单引号替换。criteria参数变为:
"[LastName] = 'Smith'"
这种语法可能看似比单引号语法复杂,但是它允许在 criteria参数中嵌入含有一个单引号的字符串,它也允许在嵌入的字符串中嵌套一个或多个字符串。
包含代表双引号的变量
可以创建一个代表双引号的字符串变量,并将该变量与变量值一起连接到 criteria参数中。双引号的ANSI 表示法是 Chr$(34);可以将该值赋给字符串变量strQuote。然后可以如下所示构建 criteria参数:
"[LastName] = " & strQuote & strName & strQuote
当计算出变量值并将其连接到 criteria参数后,criteria参数变为:
[LastName] = "Smith"
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access高效办公】统计当...(06.30)
- 【Access高效办公】用复选...(06.24)
- 根据变化的日期来自动编号的示例...(06.20)
- 【Access高效办公】按日期...(06.12)
- 合并列数据到一个文本框的示例;...(05.06)
- 通过命令按钮让Access列表...(04.24)
- 【Access高效办公】统计当...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)

学习心得
最新文章
- Access快速开发平台--Err...(08.12)
- Deepseek资料整理神器(08.11)
- 【Access财务分析示例】按月统...(08.08)
- Access查询里使用Date()...(08.05)
- 关于Access交叉表查询生成的统...(08.02)
- ACCESS做的工作日常小工具_纸...(07.30)
- Access快速开发平台进销存教程...(07.28)
- 关于Access快速开发平台2.6...(07.23)
- 【Access交叉表查询】按百分比...(07.21)
- VBA编程-ADO-关于对象早晚期...(07.17)