Batch file Ms Access 2010 FE应用程序通过bat文件运行,但锁定文件*.laccdb保持打开状态

Batch file Ms Access 2010 FE应用程序通过bat文件运行,但锁定文件*.laccdb保持打开状态,batch-file,ms-access,vba,Batch File,Ms Access,Vba,首先,我在之前的问题和网络上搜索了这个主题,但找不到任何给我或建议我解决方案的东西。 我不是新手,这真的让我发疯 我有一个Access 2010前端accdb文件,其使用方式如下: FE Analyzer.accdb位于公司服务器#1的共享文件夹中 在公司服务器#2上创建了一个.bat文件,该文件计划每晚运行,.bat使用Access运行时启动Access FE文件(服务器上没有完全的MS访问),并使用通常的命令: C:\ProgramFiles\Microsoft Office\Office1

首先,我在之前的问题和网络上搜索了这个主题,但找不到任何给我或建议我解决方案的东西。 我不是新手,这真的让我发疯

我有一个Access 2010前端accdb文件,其使用方式如下:

  • FE Analyzer.accdb位于公司服务器#1的共享文件夹中

  • 在公司服务器#2上创建了一个.bat文件,该文件计划每晚运行,.bat使用Access运行时启动Access FE文件(服务器上没有完全的MS访问),并使用通常的命令:
    C:\ProgramFiles\Microsoft Office\Office14\MSACCESS.EXE”“\\192.168.1.5\SharedFolder\Analyzer.accdb

    C:“上面的驱动器是CompanyServer2的驱动器,IP地址192.168.1.5是Server1

  • 运行access文件时,会打开一个启动窗体,在窗体的加载事件中,会调用一个子例程,该子例程执行一系列计算并写入sql server。调用主子程序后,Access应用程序关闭,如下所示:

    Private Sub Form_Load()
        Call Init
        Application.Quit 
    End Sub
    
  • 该计划每晚都能正常工作,Access文件accdb按预期运行,任务管理器中没有MSACCESS.EXE-到目前为止还可以,但*.laccdb锁文件仍保留在共享文件夹中

  • 当我从客户端PC访问共享文件夹时,我可以毫无问题地手动删除锁定文件

  • 作为解决办法,我在.BAT文件中写了第一行,在再次运行.accdb文件之前删除了锁文件

  • 但现在这又让人恼火了,因为我将auto compact设置为close,但它不起作用,我想是因为Access accdb文件没有正确关闭-锁文件仍然存在一些证据

  • 如果我从我的客户端PC运行共享文件夹中的Access前端文件(只需双击它并让启动窗体运行主子例程),它就会工作,并且不会保留任何锁定文件

  • 如果从客户端PC运行服务器#2上的.BAT文件,则所有内容都会运行,不会保留任何锁定文件


  • 有什么线索吗?

    尝试在没有任务调度器的情况下手动运行SERVER#2上的bat文件,看看这是否会产生影响。或者您可以尝试重新安装完整版本的ACCESS并进行测试,或者在另一台电脑上安装ACCESS RUNTIME并从那里进行测试,或者。。。无论如何,这听起来像是一个疑难解答任务,而不是编程。在运行MS Access的命令行上方添加批处理文件时会发生什么情况?请将行
    pushd“\\192.168.1.5\SharedFolder”
    ,将MS Access命令行修改为
    “C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE”Analyzer.accdb
    ,然后仅使用命令popd插入一个命令行?感谢sst和Mofi。我基本上已经尝试了sst的建议,但安装完全访问我不能做。Mofi的尝试听起来很有趣,我会尝试一下,并让您知道。当您作为计划任务运行应用程序时,您可能是在其他用户或服务器上没有文件夹删除权限的某个用户下运行的。因此,当您手动运行bat文件时,一切都会正常工作,但在计划时,您的用户权限可能会有所不同(选中计划程序中的复选框选项-可能希望选中管理员权限选项,还有一些其他“用户”选项需要检查/尝试)