Vbscript 如何消除退出MS ACCESS时的提示
我正在使用VBScript运行ACCESS数据库中存储的子过程。该过程查询数据库并导出/保存CSV文件 我的问题是,该脚本成功地打开了数据库,运行了该过程,但随后使ACCESS保持打开状态,因为ACCESS会打开一个提示,询问“您确定要离开ACCESS吗”(这在德语中是等效的)。我希望它在没有交互的情况下关闭 此脚本的基本思想是通过Windows任务调度器运行它。(这目前不起作用,但这是另一个问题。) 以下是我的VBScript中处理ACCESS数据库的部分:Vbscript 如何消除退出MS ACCESS时的提示,vbscript,ms-access-2016,windows-task-scheduler,Vbscript,Ms Access 2016,Windows Task Scheduler,我正在使用VBScript运行ACCESS数据库中存储的子过程。该过程查询数据库并导出/保存CSV文件 我的问题是,该脚本成功地打开了数据库,运行了该过程,但随后使ACCESS保持打开状态,因为ACCESS会打开一个提示,询问“您确定要离开ACCESS吗”(这在德语中是等效的)。我希望它在没有交互的情况下关闭 此脚本的基本思想是通过Windows任务调度器运行它。(这目前不起作用,但这是另一个问题。) 以下是我的VBScript中处理ACCESS数据库的部分: Dim objAccess Set
Dim objAccess
Set objAccess = createObject("Access.Application")
objAccess.OpenCurrentDataBase("C:\FiselTools\Allgemein\Scripte\Pellenc-CopyBelegarchiv3.accdb")
objAccess.Run "CopyBelegarchiv"
objAccess.Quit acQuitSaveAll
Set objAccess = Nothing
使用此脚本手动打开数据库,导出文件,最后执行上面代码后面的部分-因此只有关闭ACCESS不起作用,我猜这不是脚本或过程的问题,而是访问的问题。Erik a基本上给出了正确的答案:有一些VBA代码负责此提示(见下文)。它是初级形式的一部分 因此,在本例中,我找到了两种可能的解决方案:
谢谢 默认情况下,Access不显示此类提示。这可能意味着您在某个地方有VBA代码负责此提示。在没有任何VBA的数据库上尝试相同的操作。您没有定义变量
acquitsavall
。我猜这是访问常量之一?你应该查找它,然后自己定义为一个常量。让我从AcquitsAvall开始:它来自某个论坛,我在VBScript中找到了它(现在找不到链接),但我添加了它,希望它能解决我的问题。实际上,没有这个变量也会出现同样的问题。这给我留下了@erika-a的想法,但我找不到那个代码。我没有创建这个数据库。谁能告诉我VBA代码可能是什么样子的?提前谢谢!
Private Sub Form_Unload(Cancel As Integer)
Dim Answer As Variant
Answer = MsgBox("Wollen Sie die Anwendung wirklich beenden?" & vbNewLine & vbNewLine & "Nicht gespeicherte Änderungen gehen dabei möglicherweise verloren", vbQuestion + vbYesNo + vbDefaultButton2)
If Answer = vbNo Then
Cancel = True
Else
DoCmd.Quit acQuitSaveNone
End If
End Sub