Freigeben über


Database.QueryTimeout-Eigenschaft (DAO)

Gilt für: Access 2013, Office 2013

Mit dieser Eigenschaft wird ein Wert festgelegt oder zurückgegeben, der angibt, wie viele Sekunden beim Ausführen einer Abfrage zu einer ODBC-Datenquelle gewartet wird, bevor ein Timeoutfehler auftritt.

Syntax

Ausdruck . Querytimeout

Ausdruck Eine Variable, die ein Database -Objekt darstellt.

Hinweise

Der Standardwert ist 60.

Wenn Sie eine ODBC-Datenbank verwenden, wie etwa Microsoft SQL Server, kann es zu Verzögerungen aufgrund der Auslastung des Netzwerks oder des ODBC-Servers kommen. Anstatt lange zu warten, können Sie die Wartezeit festlegen.

Wenn Sie die QueryTimeout-Eigenschaft bei einem Connection - oder Database -Objekt verwenden, gibt sie den globalen Wert für alle Abfragen an, die der Datenbank zugeordnet sind. Sie können diesen Wert für eine bestimmte Abfrage außer Kraft setzen, indem Sie die ODBCTimeout-Eigenschaft des speziellen QueryDef -Objekts festlegen.

Beispiel

In diesem Beispiel werden die Eigenschaften ODBCTimeout und QueryTimeout verwendet, um zu zeigen, wie die QueryTimeout-Einstellung eines Database-Objekts die Standardeinstellung von ODBCTimeout für ein beliebiges QueryDef-Objekt festlegt, das anhand des Database-Objekts erstellt wurde.

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