如何在Access-ADP上使用Connection.CommandTimeout?

时间:2018-04-05 20:15:41

标签: access-vba access

我正在尝试使用连接到SQL Server 2008的Access ADP来增加查询的超时。

我正在尝试这个命令:

CurrentProject.Connection.CommandTimeout = 0

然后调试并打印:

print CurrentProject.Connection.CommandTimeout

我得到的只是30。不知怎的,它不会改为0

有没有人有使用Access-ADP项目更改超时值的经验?感谢。

2 个答案:

答案 0 :(得分:0)

CurrentProject.Connection用于获取与数据库的新ADO连接。您可以对其进行更改,但它仅适用于此新创建的连接,如果您不引用它(例如Set conn = CurrentProject.Connection),则新连接会立即被销毁。 ; ve改变了设置。

您可以在很多地方设置超时。您可以在访问选项下设置整个应用程序的超时 - >客户端设置 - >先进。

自2013年以来,不再支持ADP。我没有测试设置来测试细节,但您应该能够设置每个对象的超时,以覆盖应用程序范围的超时。此外,通过VBA执行查询时,您可以通过修改查询连接来指定超时。例如,您可以使用Recordset.Connection.CommandTimeout = 0

更改ADO记录集的超时

答案 1 :(得分:0)

选项 - >先进的没有工作。我改为0,但在执行期间它保持默认超时为30。

但是,既然你提到要创建一个新连接,这对我有用:

 Dim conn As ADODB.Connection
 Set conn = CurrentProject.Connection
 conn.CommandTimeout = 0
 Set rst = New ADODB.Recordset
 rst.Open query, conn, adOpenStatic, adLockOptimistic

感谢您的帮助。