我正在使用以下批处理文件打开我的访问数据库,并尝试从数据库中运行模块(宏(。
批处理文件:
@echo off
start "" "C:Program Files (x86)Microsoft OfficeOfficeMSACCESS.EXE" "C:Users%Username%OneDrive - Colony BrandsDesktopCID FE v3.1.accdb" /x MasterRun
模块(BuildFileAutoRun(:
Public Sub MasterRun()
DoCmd.OpenForm "frmAutoBuild", acNormal, "", "", acEdit, acNormal
Item: [Forms]![frmAutoBuild]![cboYear] = "2020"
[Forms]![frmAutoBuild]![cboBrand] = "Ashro"
[Forms]![frmAutoBuild]![cboSeason] = "S21"
Forms!frmAutoBuild.cmdCreate_Click
End Sub
问题是我一直收到Microsoft Access显示的以下错误,并带有一个消息框:
Microsoft Access找不到对象"MasterRun">
如果"MasterRun"是一个新的宏或宏组,请确保已将其保存并且键入的名称正确。
我不确定我遗漏了什么。如有任何帮助,我们将不胜感激!
命令行开关需要宏对象的名称。MasterRun不是宏,而是VBA过程。Access中的宏不是VBA代码(Excel中的宏实际上只是VBA过程(。三种类型的宏:通用宏、嵌入式宏和数据宏。使用功能区"创建"选项卡上的"宏生成器"按钮执行常规宏,嵌入的宏在窗体和报表中,数据宏与表关联。
宏可以调用VBA函数,而不是Sub过程。因此,要么使用等效的宏命令来完成打开窗体和填充控件,要么构建一个可以由宏调用的函数。
一个名为AutoExec的通用宏将在数据库打开时自动执行,无需在开关中引用。
另一个选项是在数据库选项(或AutoExec宏(中设置的代码隐藏窗体,默认情况下在数据库打开时打开-使用窗体打开事件在窗体打开时运行代码。