MS Access两位大师 - 一个细节

时间:2013-09-19 12:13:52

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

在MS Access中有非常简单的具有Mater-> Detail表单, 如何拥有一个包含两个主表和一个孩子的表单?

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

如何能够显示一个学生和他的一个考试的所有问题?

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

谢谢!

增加:

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

1 个答案:

答案 0 :(得分: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])

Here forms![fMain]![fStudents] .Form![ID]表示从名为[fMain]的形式的名为fStudents的控件中的表单中获取[ID]的值。

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

on error resume next
Parent.fQuestion.Form.Requery
on error goto 0