我正在尝试使用连接到SQL Server2008的Access ADP增加查询超时。
我正在尝试这个命令:
CurrentProject.Connection.CommandTimeout = 0然后调试和打印以下代码:
print CurrentProject.Connection.CommandTimeout我得到的只有30。不知何故,它不会更改为0。
是否有人有使用Access-ADP项目更改超时值的经验?谢谢。
发布于 2018-04-06 04:45:43
CurrentProject.Connection用于获得到数据库的新的ADO连接。你可以对它进行修改,但它只针对这个新创建的连接,如果你没有引用它(例如Set conn = CurrentProject.Connection),那么在你改变设置后,新的连接会立即被销毁。
您可以在许多地方设置超时。您可以在access options -> client settings -> advanced下为整个应用程序设置超时。
自2013年起不再支持ADP。我没有测试设置来测试细节,但您应该能够为每个对象设置超时,从而覆盖应用程序范围的超时。此外,当通过VBA执行查询时,可以通过修改查询连接来指定超时。例如,可以使用Recordset.Connection.CommandTimeout = 0更改ADO记录集的超时。
发布于 2018-04-06 06:23:37
->高级选项不起作用。我更改为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谢谢你的帮助。
https://stackoverflow.com/questions/49680819
复制相似问题