对SQL存储过程的VBA调用导致其他页面挂起

对SQL存储过程的VBA调用导致其他页面挂起,vba,sql-server-2005,Vba,Sql Server 2005,我有一段执行SQL Server备份的简单代码 With sCmd .ActiveConnection = sCN .CommandText = "dbo.csp_ad_hoc_single_full_backup" .CommandType = adCmdStoredProc .Parameters.Refresh .Parameters("@database_name").Value = strDB .Parameters("@backup

我有一段执行SQL Server备份的简单代码

 With sCmd
    .ActiveConnection = sCN
    .CommandText = "dbo.csp_ad_hoc_single_full_backup"
    .CommandType = adCmdStoredProc

    .Parameters.Refresh
    .Parameters("@database_name").Value = strDB
    .Parameters("@backup_dir").Value = preBackup_directory
    .Parameters("@backup_dir_space").Value = objDiskSpace
    .Execute , , adAsyncExecute

End With    

returnvalue = sCmd.parameters(0)
此代码在用户点击页面时执行,返回值然后根据过程的每个可能结果显示不同的文本

问题是,在该过程运行时,我无法访问任何其他页面。我尝试过使用“adAsyncExecute”,但似乎不起作用。在整个备份完成之前,不会加载显示结果并运行此代码的页面。我不知道这是否是其他页面挂起的原因


有什么想法吗?

根据enderland的评论,VBA将不会继续,直到.Execute过程完成


我的解决方案是简单地编写参数sql表,而不是立即尝试执行该过程。网页将显示表写入成功。然后,作业将拾取这些参数并像最初加载页面时一样执行代码。在作业结束时,用户将使用msdb.dbo.sp_send_dbmail a通过电子邮件通知作业完成。

VBA将在.Execute过程完成后继续。@enderland是否有解决方法的建议?