我正在创建一个由两件事组成的Access数据库 - 软件和许可证 . 许可证通过其ID附加到软件 .
我有一个为软件创建的表单,并且想要创建一个按钮,当单击该按钮时,会打开一个新的“添加许可证”表单,该表单预先填充了软件ID,人们可以填写其余的信息 . 我一直在使用类似的Office 2016模板中的宏,并且在尝试将此信息放入新的许可证表单时,它会不断失败 .
我在下面附上了我的宏的截图 - 我现在经历了很多次迭代,我得到的错误是30024,这似乎表明它无法找到将SoftwareID放入新打开的表单中的字段 . 我还将“控制名称”设置为“SoftwareID”,因为这也在其他地方建议,但这也不起作用 .
有什么建议?
1 回答
我无法使用嵌入式宏工作,所以我使用了VBA宏而不是工作:) . 为此(假设您之前没有这样做):
在设计视图中打开"Software"表单
显示属性表(功能区 - >设计选项卡)
点击你的按钮
单击属性表上的"Event"选项卡
删除"On Click"事件
右键单击按钮,然后单击"Build Event"
在"Choose Builder"弹出框中,单击"Code Builder"
假设你没有任何其他宏,你的代码应该看起来像我的代码,唯一的区别是你的按钮名称(我的是Command163)
p.s. I Couldnt get the code tags to display properly so i just added some line breaks. Apologies for the improper indenting.
选项比较数据库
Private Sub Command163_Click()
DoCmd.RunCommand acCmdSaveRecord
openFreshAddLicenseForm(Me.ID)
结束子
公共函数openFreshAddLicenseForm(ID As Integer)
错误GoTo Macro1_Err
DoCmd.OpenForm“添加许可”
DoCmd.GoToRecord,“”,acNewRec
表格![添加许可证]!SoftwareID = ID
Macro1_Exit:
退出功能
Macro1_Err:
MsgBox错误$
继续Macro1_Exit
结束功能