0

在 MS Access 中有一个非常简单的 Mater->Detail 表单,怎么可能有一个包含两个主表和一个子表的表单?

例如,可以是表格:[学生]、[考试]、[问题]。[Questions] 表有 StudentID 和 ExamID,我可以显示学生的所有问题(但它包括所有考试),或所有考试问题(但它包括所有学生)。

怎么可能显示一个学生和他的一次考试的所有问题?

感谢任何帮助或指向任何资源。

谢谢!

添加:

[Students] {ID, Name}
[Exams] {ID, Number, Date}
[Questions] {ID, Question, Answer, Mark, ExamID, StudentID}
4

1 回答 1

0

创建没有 RecordSource 的表单 [fMain]。将子表单 [fStudents]、[fExams] 与它的表 RecordSource 放在一起。把子表单 [fQuestions] 它的 RecordSource 应该是

SELECT [Questions].* FROM [Questions] WHERE ([Questions].[ExamID] = Forms![fMain]![fExams].Form![ID]) AND ([Questions].[StudentID] = Forms![fMain]![fStudents].Form![ID])

这里 Forms![fMain]![fStudents].Form![ID] 表示从名为 [fMain] 的表单中名为 fStudents 的控件中获取 [ID] 的值。

在表单 [fStudents]、[fExams] 中使用此类代码创建 onCurrent 事件

on error resume next
Parent.fQuestion.Form.Requery
on error goto 0
于 2013-09-19T18:37:43.347 回答