首页 > 解决方案 > ms 访问表单以插入记录组

问题描述

我有一个学生数据库包含以下表格:

学生表(Id、StudentName、ClassNum、....)

行动表(Id、ActionDate、studentID、Status、reason、note)

状态字段可能的值是:出席(=1)缺席(=2),允许(=3)。我想构建一个表单,在表单顶部有两个未绑定的字段(班级编号和日期)。子表单应包含该班级编号的所有学生的网格(列表);该网格的每一行包括:学生姓名(不可编辑)、状态(例如下拉列表)、原因(文本框)。表格应显示所有班级的学生。

当用户输入数据(状态、原因和注释)时,表单应该在操作表中创建一条记录,其中包含学生 ID、日期(在顶部输入)和添加数据(即状态、原因所做的注释)。

我如何构建一个包含表中记录的表单(在添加之前不存在记录)。

标签: ms-access

解决方案


您需要一个 INSERT SELECT 操作 SQL 在操作表中创建一批记录。

CurrentDb.Execute "INSERT INTO Action(StudentID, ActionDate) SELECT ID, " & _
"#" & Me.tbxDate & "# FROM Students WHERE ClassNum = " & Me.tbxClassNum

如果 ClassNumber 是文本字段,则过滤条件需要撇号分隔符。

这假设每个学生只能有一个班级。如果它们可以有多个类,则需要在 Action 中使用 ClassNumber 字段。

然后过滤该批次记录的表单,以对 Action 中的其他字段进行数据输入。


推荐阅读