我有两张桌子:
TableA
TableB
- 具有基于RequestID
的1对多强制完整性关系(表B中有许多)。我有三种形式:
FormA
- 根据用户输入中的TableA
过滤RequestID
条记录,然后显示记录的TableA
字段以及相关的{{ 1}}记录来自TableB
。subFormA
- 在subFormA
上使用TableB
过滤器查询来自RequestID
的记录。FormA
- ****这是我需要帮助的表格。**** FormB
是模态弹出窗口。这只是一个允许用户向FormB
添加新记录的表单。TableB
上的按钮后,会弹出FormA
。 - 工作当FormB
打开时,它有两个组合框: - 工作
FormB
(来自RequestID
) - 已锁定以阻止用户修改TableB
(来自Field1
) TableB
自动设置为RequestID
。 - 工作
问题:虽然第3步正在运行,但我的表单是使用TableB中的第一个关联记录自动填充的。
目标:相反,我希望表单以新记录开头,但FormA
已填充RequestID
的值。
我试过了:
**FormA
的VBA中的:
FormB
不幸的是,这会重置Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
End Sub
字段,但我失去了与RequestID
的关联。
要解决我尝试过的问题:
** FormA
的VBA
FormB
和
** Private Sub Form_BeforeInsert(Cancel As Integer)
Me!RequestID = Forms!FormA!RequestID
End Sub
的VBA
FormA
这些都没有奏效。所以我也试过了:
** Private Sub open_AddMilestoneF_button_Click()
DoCmd.OpenForm "FormB"
Forms![FormB].RequestID = Me.RequestID
End Sub
的VBA:
FormA
但是这会产生类似的结果(Docmd.OpenForm "FormB",,,,acFormAdd,acDialog
被重置)。
有没有人有任何想法?任何提示将不胜感激!
答案 0 :(得分:0)
想出来!我刚刚删除了与FormB相关的100%代码,并从头开始。
在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
轰!一切都完成了。