Compartilhar via


Propriedade Connection.StillExecuting (DAO)

Aplica-se ao: Access 2013, Office 2013

Sintaxe

expressão . StillExecuting

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

Comentários

Use a propriedade StillExecuting para determinar se o método Execute ou OpenConnection chamado mais recentemente de forma assíncrona (ou seja, um método executado com a opção dbRunAsync) foi concluído. Enquanto a propriedade StillExecuting for True, qualquer objeto retornado não poderá ser acessado.

Assim que a propriedade StillExecuting retornar False, depois que a chamada OpenConnection retornar o objeto Connection associado, o objeto poderá ser mencionado. Contanto que StillExecuting permaneça True, o objeto poderá não ser mencionado, a não ser para ler a propriedade StillExecuting.

Use o método Cancel para concluir a execução de uma tarefa em andamento.

Exemplo

Este exemplo usa o método StillExecuting e o método Cancel para abrir, de forma assíncrona, um 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