在记录集上进行这样的查询是否有效
rs.open "select * from table where vd=1; update table set vd1 = 1 where vd=2 or vd=3;"
或者有什么问题吗
谢谢
它不起作用 - 您必须将它们作为单独的命令执行
大概您已声明rs
为记录集,因此您可以使用它来返回SELECT
语句结果。
我会使用 SQL 命令来执行第二条语句。
只能使用单个 SELECT 语句定义记录集(当然,如果它们具有相同的列数,您可以 UNION 多个选择)。
任何操作 SQL(INSERT、UPDATE、DELETE)都不能使用记录集执行,而是使用 .Execute 方法。
如果您使用 ADO,.Execute 也可用于 SELECT(它返回行),但 Jet 的本机数据接口层 DAO 不能 -- .Execute 仅适用于操作查询。这对我来说似乎是明智的,但对我个人而言,ADO 似乎总是在浪费时间。
此外,Jet(Access 默认使用的数据库引擎)不能像许多基于服务器的数据库引擎一样一次执行多个 SQL 语句。对于那些习惯于批处理 SQL 语句的人来说,这并不是一个很大的限制——它只是不同而已。