Sometimes you have stored proc that takes 2,3 or 5 min to execute. Application that lock up frequently frustrates users and waste their time and resources.
Solution use ADO ASYNCHROUS OPTION to get back CPU resorces.
Public Sub ExecuteAsync()
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = "DSN=test"
cmd.CommandTimeout = 180
cmd.CommandText = "sp_name"
cmd.CommandType = adCmdStoredProc
cmd.EXECUTE , , adAsyncExecute '<--- start ASYNCHROUS
'You can also make a dumy progress bar to show proggres
Do While (cmd.State And adStateExecuting) = adStateExecuting
DoEvents
Loop
'Methods Options
'EXECUTE adAsyncExecute, adAsyncFetch
'OPEN adAsyncConnect
'You can do same this with RDO
'Do While rs.StillExecuting
' DoEvents
'Loop
End Sub