目前,我正在开发一个基于Access 2013的应用程序,用于跟踪学生的评估信息。该数据库只包含3个简单表:
以及基于这3个表的其他几个查询。现在我有一个(有点丑陋)的SQL查询,如下所示:
SELECT tblStudents.*,
(SELECT COUNT(*) FROM qryPapers WHERE qryPapers.STUDID=tblStudents.STUDID) AS PAPER_COUNT,
(SELECT SUM(MR_TOTAL) FROM qryPapers WHERE qryPapers.STUDID=tblStudents.STUDID) AS ALL_TOTAL,
(SELECT MIN(MR_TOTAL) FROM qryPapers WHERE qryPapers.STUDID=tblStudents.STUDID AND qryPapers.PAPER_TYPE LIKE 'E?') AS MIN_ELEC,
(SELECT COUNT(*) FROM qryPapers WHERE qryPapers.STUDID=tblStudents.STUDID AND qryPapers.PAPER_TYPE LIKE 'A?') AS LANG_PS,
(SELECT COUNT(*) FROM qryPapers WHERE qryPapers.STUDID=tblStudents.STUDID AND qryPapers.PAPER_TYPE LIKE 'E?') AS ELCT_PS,
IIf([PAPER_COUNT]>5,ALL_TOTAL-MIN_ELEC,ALL_TOTAL) AS [GT],
IIf([LANG_PS]=2 And [ELCT_PS]>=3,'PASS','FAIL') AS STATUS
FROM tblStudents;
问题是,每当我尝试在此查询的“状态字段”上运行过滤器时(例如,当STATUS =' PASS'时),整个ACCESS首先停止响应!然后 SHUTS DOWN和RESTARTS 。
我不知道这里发生了什么。我看到更复杂的查询运行得非常好,但不是这个。任何帮助将不胜感激。
答案 0 :(得分:1)
我在Access中经历了很多这方面的事情。我不知道问题的原因,但我只是将查询导出到Excel或根据查询创建一个表来应用过滤。