【发布时间】:2017-12-26 22:05:28
【问题描述】:
我创建的主要表单的目的是让我的同事能够在一个地方输入有关我们收到的各种投诉的信息。我们有三种类型的投诉,每种都有自己的表格,其中一个是我的主表格中的子表格。子表单的表的主键由用户输入。我还没有找到一种方法可以将该主键添加到为该条目生成的记录中。我正在使用 MS Access 2007,唯一接近我想要的代码是:
Private Sub Booking_Reference_Number_Exit(Cancel As Integer)
If Not IsNull(Form![Booking Reference Number]!PK_Booking_Ref_Number) Then
Dim mydb As Database
Dim rst As DAO.Recordset
Set mydb = CurrentDb()
Set rst = mydb.OpenRecordset("Incident_Report")
rst.AddNew
rst![FK_Booking_Ref_Number] = Form![Booking Reference Number]!PK_Booking_Ref_Number
rst.Update
Set rst = Nothing
Set mydb = Nothing
End If
End Sub
感谢您的帮助。
【问题讨论】:
-
问题是什么?代码执行时会发生什么——错误消息、错误结果,什么都没有?我不了解数据结构,也不了解您尝试编码的过程。为什么需要代码来创建记录?为什么不绑定表格?
-
通过父子链接链接的字段不会用相关记录的主键值填充外键。让字段处于一对多关系似乎也不起作用。我的理解是,由于这些字段来自另一个表,因此它必须位于子表单中。我试图确保我的用户只担心填写主表单上的信息。我需要帮助找出可以为我完成此任务的代码。
-
如果这些表打算具有父/子关系并且设置了子表单容器控件的主/子链接属性,则主记录中的 PK 将在任何其他时填充子表单中的 FK 字段数据输入到子表单记录。为什么没有任何数据供用户在子表单上输入?听起来很不寻常。
-
PK在子窗体中,FK在主窗体中。我进行了设置,以便在填写主表单时创建子表单表中的记录
-
这完全是对传统结构的倒退,真的无法想象任何可行的情况。
标签: ms-access vba ms-access-2007