子表单记录覆盖

Posted

技术标签:

【中文标题】子表单记录覆盖【英文标题】:subform record overwriting 【发布时间】:2012-08-10 10:24:32 【问题描述】:

我正在建立一个学生数据库,

我有一个班级分配表格来添加块(学期),期间和班级名称,然后我可以在表格底部的查询子表格中查看。

我的班级分配表是这样设置的:

ClassAssignID, 学生卡, 块ID, 时期, 选项ID

每个区块有 4 个类别可供选择。 我可以为每个块添加一条记录,但我的问题是当我尝试添加第二个类时,它只会覆盖第一个类,因此它只能容纳一个类。

我做错了什么?

【问题讨论】:

你确定这是发生了什么?也就是说,你看过表吗?您的子表单的记录源是什么?您是使用向导创建的吗? 我检查了我的子表单所基于的表,并且只有一条记录。该子表单基于一个查询来显示 student ID, Block, Period, Option Name, Class, Tutor 通常当有人说“行源是什么?”他们的意思是剪切和粘贴sql。您是否使用向导创建了子表单? 道歉SELECT TblPersonalInfo.Student_ID, tblBlock.Block, tblClassAssignments.Period, tblOptions.Option_Name, tblOptions.Room, tblOptions.Tutor FROM TblPersonalInfo INNER JOIN (tblOptions INNER JOIN (tblBlock INNER JOIN tblClassAssignments ON tblBlock.Block_ID = tblClassAssignments.Block_ID) ON tblOptions.Options_ID = tblClassAssignments.Option_ID) ON TblPersonalInfo.Student_ID = tblClassAssignments.Student_ID;不,我手动添加子表单 对于子表单来说这看起来太复杂了。子表单通常使用相当简单的 sql,带有链接子/主字段和组合框来填补空白。 【参考方案1】:

在大多数情况下,子表单的 sql 应该相当简单,可以从组合框和链接子字段和主字段中获得额外的信息。

在这种情况下,索引也存在问题,正如聊天所揭示的那样。限制性索引和关系的组合阻止了将数据添加到表中。

【讨论】:

以上是关于子表单记录覆盖的主要内容,如果未能解决你的问题,请参考以下文章

通过弹出子表单 (2) 添加新子表单 (1) 记录后重新查询子表单 (1) - Access 2007

如何选择子表单记录并在弹出的主表单中显示

Access VBA:更改子表单的记录源

我想向子表单添加一条新记录,但它总是向主表单添加一条新记录

子表单中每个相关记录的空字段

更新子表单上的记录