CurrentDb().Execute strSql与DoCmd.RunSQL strSql区别是什么?
时 间:2013-09-03 10:22:17
作 者:红尘如烟 ID:10768 城市:成都
摘 要:CurrentDb().Execute strSql与DoCmd.RunSQL strSql区别是什么?
正 文:
学员问题:
同开两台客户端。DoCmd.RunSQL strSql 用这个执行了一个表的查询后,再执行这个表的更新查询就反应很慢。
改用CurrentDb().Execute strSql 后就没这个问题了。
所以才问CurrentDb().Execute strSql与DoCmd.RunSQL strSql有什么区别的问题。是不是用法上有什么分别?
解答:
具体区别是DoCmd.RunSQL 可以执行access中一些特定的查询,比如查询的条件中引用了某个窗体控件值等。
CurrentDb().Execute 对于一些access中一些特定查询无法执行,只能通过sql代码来执行
补充:
动作查询:会对改变数据的查询,包括更新查询、删除查询、追加查询、生成表查询。
数据定义查询:用于创建或更改数据库对象的查询,如创建表、添加字段、添加索引等。
在Access中可以直接在VBA中来执行动作查询或数据定义查询的SQL语句,并且有3种方式可用:
1. DoCmd.RunSQL 方法
2. CurrentDb.Execute 方法
3. CurrentProject.Connection.Execute 方法
它们的区别有:
1. DoCmd.RunSQL 方法
a) 基于 Access 的对象模型。
b) 只使用 Access SQL 语法,在 SQL 语句中可以使用 VBA 函数。
c) 在调用前总是需要使用 DoCmd.SetWarnings False 关闭确认对话框的显示。
d) 查询执行过程中会自动在状态栏显示进度条,可以通过 ESC 键中断。
e) 可以直接在 SQL 语句中使用“字段1 = Forms!窗体1!客户名称”这样的变量作为条件。
f) 不能将多个 SQL 语句的执行,嵌套在同一个事务中。
g) 不能获取动作查询所影响的记录行数。
2. CurrentDb.Execute 方法
a) 基于 DAO 对象模型。
b) 只使用Access SQL 语法,在 SQL 语句中可以使用VBA函数。
c) 没有确认对话框的显示。
d) 查询执行过程中不会自动显示进度条,不能中断。
e) 不能直接在 SQL 语句中使用“字段1 = Forms!窗体1!客户名称”这样的变量作为条件。
f) 可以将多个 SQL 语句的执行,嵌套在同一个事务中。
g) 可以获取动作查询所影响的记录行数。
h) 通过链接表连接到SQL Server数据库时,如果表中存在自动编号字段,需要提供特殊的 Option 参数 dbSeeChanges,否则会出错。
3. CurrentProject.Connection.Execute 方法
a) 基于 ADO 对象模型。
b) 连接到不同的数据库需要不同的 SQL 语法,如连接到 SQL Server 数据库时需要使用 SQL Server 的 T-SQL 语法,连接到 oracle 数据库时需要使用 PL/SQL 语法。连接到非Access数据库时,在SQL语句中不能使用 VBA 函数。
c) 没有确认对话框的显示。
d) 查询执行过程中不会自动显示进度条,不能中断。
e) 不能直接在 SQL 语句中使用“字段1 = Forms!窗体1!客户名称”这样的变量作为条件。
f) 可以将多个 SQL 语句的执行,嵌套在同一个事务中。
g) 可以获取动作查询所影响的记录行数。
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.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)