Vbscript 如何消除退出MS 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

我正在使用VBScript运行ACCESS数据库中存储的子过程。该过程查询数据库并导出/保存CSV文件

我的问题是,该脚本成功地打开了数据库,运行了该过程,但随后使ACCESS保持打开状态,因为ACCESS会打开一个提示,询问“您确定要离开ACCESS吗”(这在德语中是等效的)。我希望它在没有交互的情况下关闭

此脚本的基本思想是通过Windows任务调度器运行它。(这目前不起作用,但这是另一个问题。)

以下是我的VBScript中处理ACCESS数据库的部分:

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代码负责此提示(见下文)。它是初级形式的一部分

因此,在本例中,我找到了两种可能的解决方案:

  • 不要显示/显示表格(我制作了一份专门用于此目的的文件副本,因此表格对我有效)
  • 如果需要该表单,则可能需要删除VBA代码
  • 由于它是窗体的Access类对象的一部分,配置为在打开Access数据库时显示,并且我在通过VBScript运行过程时不需要该窗体,因此我只是将数据库更改为在打开数据库时不显示任何窗体

    总有一天,我会从这个数据库的特殊副本中删除任何不需要的表单、查询和任何其他对象,而我不需要从VBScript运行这些对象


    谢谢

    默认情况下,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