【发布时间】:2016-10-07 01:37:03
【问题描述】:
场景:
我有两张桌子:
TableA-
TableB- 具有基于RequestID的一对多强制完整性关系(表 B 中的许多)。
我有三种形式:
-
FormA- 根据来自用户输入的RequestID过滤TableA记录,然后通过subFormA显示记录的TableA字段以及关联的TableB记录。 -
subFormA- 使用FormA上的RequestID过滤器从TableB查询记录。 -
FormB- ****这是我需要帮助的表格。****FormB是模态弹出窗口。这只是一个允许用户向TableB添加新记录的表单。
当前功能:
- 当点击
FormA上的按钮时,FormB会弹出。 -- 工作中 -
FormB打开时,有两个组合框:--WORKING-
RequestID(来自TableB)- 锁定以防止用户编辑 -
Field1(来自TableB)
-
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 已重置)。
有人有什么想法吗?任何提示将不胜感激!
【问题讨论】:
标签: ms-access vba foreign-key-relationship popupwindow