每次我跳到我可以输入新记录的地方时,来自父记录的ID字段为空,因此连接丢失。我正在寻找一种解决方法。
我有一个处理两个1:n关系的父表单
(学校班级 - >学生,学校班级 - >测试)。
对于我使用向导的第一个关系。一切正常。对于第二个,我在未绑定的列表中显示连接的测试。在列表下面是一个按钮,用于打开表单,用于输入我来自的课程(父表单)的新记录(测试)。所以我通过VBA过滤子表单,以便只显示当前类的测试。这也很好。
当移动已经与类连接的测试时,正确的ID(已过滤的类)是相应输入字段的值。但是当我进入新的新记录状态(所有字段为空)时,与父级的连接中断,用户必须手动输入父级(学校级)的ID。
我的设置是否正确? 是否有更好的方法来创建提供(仅)输入连接到父数据的新记录的子表单? (也许没有子窗体中的ID输入字段并通过VBA强制传递值?)
感谢您的时间!
答案 0 :(得分:0)
您可以使用默认值设置测试表单的类别,但请确保父表单在后台打开或在弹出窗口后面打开。
在“测试”表单的类别控件的“属性表/数据”选项卡下,输入“默认值”单元格:
=Forms!parentformname!classid
或者,在测试表格中的VBA OnOpen事件:
Me.classid.DefaultValue = Forms!parentformname!classid
然后,您可以选择隐藏(可见 - 否)此classid控件,以便用户不会对其进行修改。始终建议永远不要让用户控制主键和外键。