根据以前的表单值访问2016设置表单字段

时间:2017-02-13 15:31:24

标签: ms-access access-vba ms-access-2016

我正在创建一个由两件事组成的Access数据库 - 软件和许可证。许可证通过其ID附加到软件。

我有一个为软件创建的表单,并且想要创建一个按钮,当单击该按钮时,会打开一个新的"添加许可证"预填充软件ID的表单,人们可以填写其他信息。 我一直在使用来自类似的Office 2016模板的宏,并且在尝试将此信息放入新的许可证表单时不断失败。

我已经附上了我的宏的屏幕截图 - 我现在经历了很多次迭代,我得到的错误是30024,这似乎表明找不到放置SoftwareID的字段进入新开放的形式。 我还设置了"控制名称"只是" SoftwareID"因为这也在别处提出,但这也行不通。

有什么建议吗?

Screenshot of Macro in question

1 个答案:

答案 0 :(得分:0)

我无法使用嵌入式宏工作,所以我使用了VBA宏而不是工作:)。要做到这一点(假设你以前没有这样做):

  • 在设计视图中打开“软件”表单
  • 显示属性表(功能区 - >设计选项卡)
  • 点击按钮
  • 点击属性表
  • 上的“活动”标签
  • 删除“点击”事件
  • 右键单击按钮,然后单击“构建事件”
  • 在“选择构建器”弹出框中,单击“代码生成器”
  • 假设您没有任何其他宏,您的代码应该与我的代码一样,唯一的区别是您的按钮名称(我的是Command163)

<强> P.S。我无法正确显示代码标签所以我只是添加了一些换行符。对于不正确的缩进道歉。

选项比较数据库

Private Sub Command163_Click()

DoCmd.RunCommand acCmdSaveRecord

openFreshAddLicenseForm(Me.ID)

End Sub

公共函数openFreshAddLicenseForm(ID As Integer)

错误GoTo Macro1_Err

DoCmd.OpenForm“添加许可证”

DoCmd.GoToRecord,“”,acNewRec

表格![添加许可证]!SoftwareID = ID

Macro1_Exit:

退出功能

Macro1_Err:

MsgBox错误$

恢复Macro1_Exit

结束功能