场景:
我有两张 table :
-
TableA
-
TableB
- 具有基于RequestID
的1对多强制完整性关系(表B中有许多) .
我有三种形式:
-
FormA - 根据用户输入的
RequestID
过滤TableA
记录,然后通过subFormA
显示记录的TableA
字段以及关联的TableB
记录 . -
subFormA - 在
FormA
上查询来自TableB
的RequestID
过滤器的记录 . -
FormB - ****这是我需要帮助的表格 . ****
FormB
是模态弹出窗口 . 这只是一个允许用户向TableB
添加新记录的表单 .
当前功能:
-
单击
FormA
上的按钮时,会弹出FormB
. - 工作 -
当
FormB
打开时,它有两个组合框: - 工作 -
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
被重置) .
有没有人有任何想法?任何提示将非常感谢!
1 回答
弄清楚了!我刚刚删除了与FormB相关的100%代码并从头开始 .
在
FormA
,我添加了一个简单的......然后在
FormB
上,我添加了以下代码:繁荣!全部完成 .