访问模态弹出表单以将新记录添加到与主表单记录相关的辅助 Table

Access Modal Popup Form to Add New Record to Secondary Table Related to Primary Form Record

场景:

我有两个表:

我有三种形式:

当前功能:

  1. 单击 FormA 上的按钮时,会弹出 FormB。 -- 工作中
  2. FormB 打开时,它有两个组合框: -- WORKING

    • RequestID(来自 TableB)- 锁定以防止用户编辑
    • Field1(来自TableB
  3. RequestID 自动设置为 FormA。 -- 正在工作

我的问题/目标:

问题:虽然第 3 步有效,但我的表单会自动填充 TableB 中的第一条关联记录。

目标:相反,我希望表单从新记录开始,但是 RequestID 已经填充了来自 FormA.

的值

疑难解答:

我试过:

**在FormB的VBA中:

Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
End Sub

不幸的是,这会重置 RequestID 字段,我失去了与 FormA 的连接。

我试过要解决这个问题:

**在FormB的VBA

Private Sub Form_BeforeInsert(Cancel As Integer)
Me!RequestID = Forms!FormA!RequestID
End Sub

**在FormA的VBA

Private Sub open_AddMilestoneF_button_Click()
DoCmd.OpenForm "FormB"
Forms![FormB].RequestID = Me.RequestID
End Sub

这些都没有用。所以我也尝试过:

**在 FormA 的 VBA:

Docmd.OpenForm "FormB",,,,acFormAdd,acDialog

但这会产生类似的结果(RequestID 已重置)。

有人有什么想法吗?任何提示将不胜感激!

想通了!我刚刚删除了 100% 与 FormB 相关的代码并从头开始。

FormA 上,我添加了一个简单的...

Private Sub open_FormB_button_Click()
    DoCmd.OpenForm "FormB"
End Sub

然后在FormB,我添加了以下代码:

Private Sub Form_Load()
    DoCmd.GoToRecord , , acNewRec
    Me.RequestID = Forms!API_BurndownPrimary_F!RequestID
End Sub

轰!全部完成。