Connection.Execute 对比 QueryDef.Execute

Connection.Execute vs QueryDef.Execute

VBA 中使用 acedao,在 SQL 服务器数据库上执行存储过程的最佳方法是:

connection.execute(sql)

querydef.execute(sql)

我需要 运行 命令,检索 RecordSet 或单个值。

您的存储过程将在 SQL 服务器数据库中,因此我建议 connection.exectute 会更好。对于 运行 另一个,您需要在 Access 数据库中设置一个 querydef,其中包含 SQL 到 运行 存储过程,这似乎是重复工作。 querydef.exectute 采用选项,而不是 SQL 字符串。

我终于这样做了:

Set MyDB= DBEngine.Workspaces(0).OpenDatabase("", False, False, connString)
MyDB.Execute SQLstring, dbSQLPassThrough