适用于:Access 2013、Office 2013
指示在开放式数据库连接 (ODBC) 数据库上执行 QueryDef 时,发生超时错误之前等待的秒数。
语法
表达式 。ODBCTimeout
表达式 一个表示 QueryDef 对象的变量。
说明
如果 ODBCTimeout 属性设置为 -1,则超时默认为包含 QueryDef 的 Connection 或 Database 对象的 QueryTimeout 属性的当前设置。 如果 ODBCTimeout 属性设置为 0,则不发生超时错误。
如果使用的是 ODBC 数据库(如 Microsoft SQL Server),可能会由于网络阻塞或大量使用 ODBC 服务器而导致延迟。 不需要无限期地等待,您可以指定返回错误前的等待时间。
设置 QueryDef 对象的 ODBCTimeout 属性将重写由包含 QueryDef 的 Connection 或 Database 对象的 QueryTimeout 属性指定的值,但这一点只适用于该 QueryDef 对象。
示例
以下示例使用 ODBCTimeout 和 QueryTimeout 属性,演示 Database 对象的 QueryTimeout 设置如何设置从 Database 对象创建的任何 QueryDef 对象的默认 ODBCTimeout 设置。
Sub ODBCTimeoutX()
Dim dbsCurrent As Database
Dim qdfStores As QueryDef
Dim rstStores As Recordset
Set dbsCurrent = OpenDatabase("Northwind.mdb")
' Change the default QueryTimeout of the Northwind
' database.
Debug.Print "Default QueryTimeout of Database: " & _
dbsCurrent.QueryTimeout
dbsCurrent.QueryTimeout = 30
Debug.Print "New QueryTimeout of Database: " & _
dbsCurrent.QueryTimeout
' Create a new QueryDef object.
Set qdfStores = dbsCurrent.CreateQueryDef("Stores", _
"SELECT * FROM stores")
' Note: The DSN referenced below must be configured to
' use Microsoft Windows NT Authentication Mode to
' authorize user access to the SQL Server.
qdfStores.Connect = _
"ODBC;DATABASE=pubs;DSN=Publishers"
' Change the ODBCTimeout setting of the new QueryDef
' object from its default setting.
Debug.Print "Default ODBCTimeout of QueryDef: " & _
qdfStores.ODBCTimeout
qdfStores.ODBCTimeout = 0
Debug.Print "New ODBCTimeout of QueryDef: " & _
qdfStores.ODBCTimeout
' Execute the query and display the results.
Set rstStores = qdfStores.OpenRecordset()
Debug.Print "Contents of recordset:"
With rstStores
Do While Not .EOF
Debug.Print , .Fields(0), .Fields(1)
.MoveNext
Loop
.Close
End With
' Delete new QueryDef because this is a demonstration.
dbsCurrent.QueryDefs.Delete qdfStores.Name
dbsCurrent.Close
End Sub