Propriété QueryDef.ODBCTimeout (DAO)
S’applique à : Access 2013, Office 2013
Indique le nombre de secondes d'attente avant que ne survienne une erreur d'expiration lors de l'exécution d'un objet QueryDef sur une base de données ODBC.
Syntaxe
expression . ODBCTimeout
expression Variable représentant un objet QueryDef.
Remarques
Lorsque la propriété ODBCTimeout est définie sur -1, le délai d'expiration revient par défaut au paramètre courant de la propriété QueryTimeout de l'objet Connection ou Database contenant l'objet QueryDef. Lorsque la propriété ODBCTimeout est définie sur 0, aucune erreur d'expiration ne survient.
Lorsque vous utilisez une base de données ODBC, comme Microsoft SQL Server, des retards peuvent survenir à cause d'un trafic réseau important ou d'une utilisation soutenue du serveur ODBC. Plutôt que d'attendre indéfiniment, vous pouvez définir le délai d'attente avant de renvoyer une erreur.
La définition de la propriété ODBCTimeout d'un objet QueryDef écrase la valeur spécifiée par la propriété QueryTimeout de l'objet Connection ou Database contenant l'objet QueryDef, mais uniquement cet objet QueryDef.
Exemple
Cet exemple utilise les propriétés ODBCTimeout et QueryTimeout pour montrer comment le paramètre QueryTimeout d'un objet Database définit le paramètre ODBCTimeout par défaut sur tout objet QueryDef créé à partir de l'objet 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