Compartilhar via


Propriedade QueryDef.ODBCTimeout (DAO)

Aplica-se ao: Access 2013, Office 2013

Indica se o número de segundos a ser aguardado antes da ocorrência de um erro de tempo limite durante a execução de QueryDef em um banco de dados ODBC.

Sintaxe

expressão . ODBCTimeout

expressão Uma variável que representa um objeto QueryDef.

Comentários

Quando a propriedade ODBCTimeout for definida como -1, os padrões de tempo limite para a definição atual da propriedade QueryTimeout do objeto Connection ou Database que contém o QueryDef. Quando a propriedade ODBCTimeout for definida como 0, não ocorrerá um erro de tempo limite.

Quando você estiver usando um banco de dados ODBC, como o Microsoft SQL Server, poderão ocorrer atrasos por causa do tráfego de rede ou do uso intenso do servidor ODBC. Em vez de aguardar indefinidamente, especifique quanto tempo será necessário aguardar antes que seja retornado um erro.

A definição da propriedade ODBCTimeout de um objeto QueryDef substituirá o valor especificado pela propriedade QueryTimeout do objeto Connection ou Database que contém o QueryDef, mas somente para esse objeto QueryDef.

Exemplo

Este exemplo usa as propriedades ODBCTimeout e QueryTimeout para mostrar como a definição QueryTimeout em um objeto Database configura a definição ODBCTimeout padrão em quaisquer objetos QueryDef criados a partir do objeto Database.

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