Compartir a través de


Propiedad Connection.StillExecuting (DAO)

Se aplica a: Access 2013, Office 2013

Sintaxis

expresión . StillExecuting

expression Variable que representa un objeto Connection.

Comentarios

Utilice la propiedad StillExecuting para determinar si el método asincrónico Execute o OpenConnection invocado más recientemente (es decir, un método ejecutado con la opción dbRunAsync) se ha completado. Mientras la propiedad StillExecuting esté establecida en True, no se puede tener acceso a ningún objeto devuelto.

Una vez que la propiedad StillExecuting devuelva False, seguido de la llamada OpenConnection que devuelve el objeto asociado Connection, se puede hacer referencia al objeto. Mientras que StillExecuting permanezca establecida en True, no se puede hacer referencia al objeto, aparte de leer la propiedad StillExecuting.

Utilice el método Cancel para finalizar la ejecución de una tarea que se esté realizando.

Ejemplo

En este ejemplo se utilizan la propiedad StillExecuting y el método Cancel para abrir de forma asincrónica un objeto Connection.

    Sub CancelConnectionX() 
     
     Dim wrkMain As Workspace 
     Dim conMain As Connection 
     Dim sngTime As Single 
     
     Set wrkMain = CreateWorkspace("ODBCWorkspace", _ 
     "admin", "", dbUseODBC) 
     ' Open the connection asynchronously. 
     
     ' Note: The DSN referenced below must be configured to 
     ' use Microsoft Windows NT Authentication Mode to 
     ' authorize user access to the Microsoft SQL Server. 
     Set conMain = wrkMain.OpenConnection("Publishers", _ 
     dbDriverNoPrompt + dbRunAsync, False, _ 
     "ODBC;DATABASE=pubs;DSN=Publishers") 
     
     sngTime = Timer 
     
     ' Wait five seconds. 
     Do While Timer - sngTime < 5 
     Loop 
     
     ' If the connection has not been made, ask the user 
     ' if she wants to keep waiting. If she does not, cancel 
     ' the connection and exit the procedure. 
     Do While conMain.StillExecuting 
     
     If MsgBox("No connection yet--keep waiting?", _ 
     vbYesNo) = vbNo Then 
     conMain.Cancel 
     MsgBox "Connection cancelled!" 
     wrkMain.Close 
     Exit Sub 
     End If 
     
     Loop 
     
     With conMain 
     ' Use the Connection object conMain. 
     .Close 
     End With 
     
     wrkMain.Close 
     
    End Sub