我正在为MS Access为多个用户创建一个前端,如果需要进行任何更改,我已经想出了一个方法来更新他们的表单。基本上,我的VBA代码所做的就是删除旧的表单,并导入新的表单(大约10个表单)。
我的过程有一个问题..。每次导入一个新表单时,它都要求用户接受安全警告,当有这么多表单时,它会变得很烦人,有时坐着等待每个表单导入并在每次新导入时单击accept都是一个漫长的过程。
有没有更合乎逻辑的方法来做这件事?Access是否有一个内置函数来检测表单的任何更改并基于单独的数据库对其进行更新?
Private Function PullNewForms()
DoCmd.TransferDatabase acImport, "Microsoft Access", _
"LOCATION", _
acForm, "frmLogin", "frmLogin"
DoCmd.TransferDatabase acImport, "Microsoft Access", _
"LOCATIONb", _
acForm, "frmNewUser", "frmNewUser"
DoCmd.TransferDatabase acImport, "Microsoft Access", _
"LOCATION", _
acForm, "frmOptionsMenu", "frmOptionsMenu"
DoCmd.TransferDatabase acImport, "Microsoft Access", _
"LOCATION, _
acForm, "frmResetPassword", "frmResetPassword"
DoCmd.TransferDatabase acImport, "Microsoft Access", _
"LOCATION", _
acForm, "frmVendorMainForm", "frmVendorMainForm"
End Function这能合并成一行代码吗?
发布于 2017-10-05 19:44:10
重新考虑当前的设置。您不应该导入像表单、报告、甚至像这样的模块这样的应用程序对象,因为可能会发生损坏和崩溃。您需要一个更稳定的版本控制系统在您的用户基础。只有数据才能真正被导入。
在向多个用户部署MS Access FrontEnd应用程序时,请考虑以下几点:

批处理文件
(将下面的文本保存在记事本中,但作为一个.bat文件,而不是默认的.txt文件,这将自动使它成为带有齿轮图标的双击可执行脚本。给每个用户自己的批处理文件,相应地裁剪本地路径,并保存到他们的桌面或他们的FrontEnd所在的任何地方)
@echo off
Copy "\\Server\Path\To\MasterFrontEnd.accdb" "C:\User\JaneDoe\LocalFrontEnd.accdb" /Y
start "" cmd /c "echo UPDATE COMPLETE!&echo(&pause"https://stackoverflow.com/questions/46592244
复制相似问题