会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > DAO/ADO/ADP > 正文

access执行操作查询的几种方法对比

时间:2013-09-22 20:16 来源:office中国 作者:红尘如烟 阅读:
access中查询分为选择查询和操作查询。其中操作查询就是对数据进行操作,改变数据的查询,包括更新查询、删除查询、追加查询、生成表查询。
 
在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) 可以获取动作查询所影响的记录行数。

 

(责任编辑:admin)

顶一下
(1)
100%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: