Partager via


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