首先,我在以前的问题和网上都想找这个话题,但是找不到能给我建议的解决方案。 我并不陌生,这真的使我发疯。
我有一个Access 2010前端accdb文件,其使用方式如下:
FE Analyzer.accdb位于公司Server#1的共享文件夹中
在Company Server#2上,创建了一个.bat文件,该文件计划每晚运行,而.bat文件通常会使用Access Runtime(服务器上没有完全的MS访问权限)启动Access FE文件。命令:
C:\Program Files\Microsoft Office\Office14\MSACCESS.EXE" "\\192.168.1.5\SharedFolder\Analyzer.accdb
上面的“ C:”驱动器是CompanyServer#2之一,IP地址192.168.1.5是Server#1。
运行访问文件时,将打开一个启动表单,在该表单的Load事件中,将调用一个子例程,该例程进行大量计算并将其写入sql server。调用主子例程后,Access应用程序将关闭,如下所示:
Private Sub Form_Load()
Call Init
Application.Quit
End Sub
该计划每天晚上都可以正常运行,Access文件accdb可以完成预期的任务,任务管理器中没有MSACCESS.EXE-到目前为止,*。laccdb锁定文件仍保留在共享文件夹中!
当从客户端PC访问共享文件夹时,可以手动删除锁定文件,而不会出现任何问题。
作为一种解决方法,我在.BAT文件中写了第一行,该行删除了锁定文件,然后再次运行.accdb文件。
但是现在又很烦人了,因为我在关闭时设置了自动压缩,并且它不起作用,我认为是因为Access accdb文件未正确关闭-锁定文件仍然有一些证据。 / p>
如果我从客户端PC运行共享文件夹中的Access前端文件(只需双击它,并让启动表单运行主子例程),它将起作用,并且没有锁文件。
如果我从客户端PC运行Server#2上的.BAT文件,那么所有内容都会运行,并且没有锁文件。
有任何线索吗?