将容器表单中的记录存储到子表中

时间:2015-09-17 18:07:19

标签: sql vba ms-access

小背景

我的数据库包含有关国家/地区,语言和地区的信息;在我遇到问题的形式中,我可以输入有关某国语言的信息。

以下是我在我的数据库中使用的表单和子表单的图片:

enter image description here

我们看到的子表单是顶部带有国家/地区轮播的表单,其中包含语言和国家/地区信息的表格。

有一个TerritoryID标识符位于父表单中,这是工作表中相关的必要信息。

我有使用[Forms]![frmInput]!...方法访问它的代码。

我的问题

是否有某种"新纪录" VBA中的功能,以便每次我添加新记录时,点击新的下拉框,新语言可以随身携带位于父级的原地TerritoryID形成的?

2 个答案:

答案 0 :(得分:0)

如果您绑定CountryID上的表单,它应自动在新记录中插入CountryID。

答案 1 :(得分:0)

在VBA中,您可以使用子表单中的方法

Private Sub Form_BeforeInsert(Cancel As Integer)
   'left hand site the foreign key and Right hand site map to parent id
    Me!TerritoryID = [Forms]![frmInput]!...TerritoryID  
End Sub

另一种引用父表单字段的VBA方式:

Me!TerritoryID = Me.Parent!TerritoryID 

另一种解决方案是使用子窗体中的属性。只需使用链接子字段链接主字段,并使用父母和子女的两个密钥文件填充标题。

有点旧,但对于较新版本的Access仍然有效是这个链接: http://www.techonthenet.com/access/subforms/refresh.php