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) 可以获取动作查询所影响的记录行数。
Access数据库中数据类型及字段属性详解
关于Access建表中的数据类型和数据类型中的属性数据类型的...2020-12-08Access与OLE服务器或ActiveX控件通讯时出现问题
网友在使用Access操作过程中,如一打开数据库后,点击任意...2020-10-21Access查询获取前几条且不重复记录的方法
使用Access查询时,利用SQL语句中Top可以获取前面指...2020-12-17Access如何设置报表分页统计 即每页有个计数及求和
我们在使用Access设计报表时,有时候需要进行小计汇总,但...2021-01-07Access操作时报错“操作必须使用一个可更新的查询”解决办
我们在使用Access执行查询时会提示报错:“操作必须使用一...2020-12-12Access报表如何实现表格画线即每列插入垂直线
Access中制作的报表默认情况下是无线条的,很难通过手动绘...2020-12-23Access表日期字段设置默认值为当前年份
Access数据表中我们可以对一些字段设置默认值,这样在表格...2020-12-08Access报表按字母顺序进行分组显示
通常我们设计Access报表时,都是通过创建报表向导,选择数...2020-12-23