【问题标题】:Unable to add record. Joinkey of table not in recordset?MS Acess 2007无法添加记录。表的连接键不在记录集中?MS Access 2007
【发布时间】:2016-05-18 14:04:20
【问题描述】:

我一直在尝试制作一个表格,我可以在其中输入所有患者的详细信息以及所开的药物。我为此创建了 5 个表。

  • tblpatients,以患者 ID 为主要患者详细信息。
  • tblvisit 用于访问详细信息,例如visitdt、tests 等,以 Visit_ID 为主。
  • tblmedicines 用于药物列表(我可以动态添加)。
  • tblqnty 用于在特定就诊期间提及的特定剂量和数量。

我创建了一个包含所有患者和就诊信息的表单,以及一个包含药物和数量的子表单(表格形式)。

现在我面临两个问题:

  1. 在将主窗体加载为新记录时,默认情况下我无法将子窗体设置为空白。我什至在子表单上尝试过,但没有工作。

  2. 尝试在子表单中添加记录时收到错误消息 “无法添加记录。表 tbkqnty 的 Joinkey 不在记录集中?”

【问题讨论】:

    标签: forms ms-access vba ms-access-2007


    【解决方案1】:

    1) 如果“空白”是指“空”:请查看第 2 点)

    2) 在您的子表单的记录集中,您必须有字段 Visit_ID。 如果您不想在子表单中显示,请将其设置为 Visible: No

    3) 用Visit_ID(表tblVisit)将两个表单(主表单和子表单)链接为 Link Master FieldVisit_ID(表 tblmedicines)为 Link Child Field 在主窗体“数据”属性表选项卡中。

    4) 在子窗体中,在before_Update event 集合中

    Sub Form_BeforeUpdate(Cancel As Integer)
    
       Visit_ID = Me.Parent!Visit_ID
    
    End Sub
    

    (假设控件名称等于字段名称)。

    这将确保子表tblMedicines 中的所有记录都是 与表tblVisit中的一条记录相关。

    希望这会有所帮助。

    【讨论】:

    • 感谢您的帮助!但需要更清楚,因为我是关系和访问的新手。 1. 在第 2 点中,当您说 Visit_ID 时,它指的是表 tblvisit 中的 Visit_ID。 2.如何从数据属性表链接主字段和子字段。这些表单和 sbform 是基于查询创建的。 S抱歉,如果这听起来很愚蠢。
    • 请访问 Microsoft 站点,您可以在其中找到很好的教程。 support.office.com 上的“数据库设计基础 - 访问”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多