如何选择错过特定班级3次或以上的学生?

问题描述 投票:0回答:2

我有一张名为“tbl1Assiduidade”的桌子,让学生出席。那张桌子上有学生的姓名,日期,班级,出勤率。它从其他表中获取这些值并将它们保存在这些相应的行上:Nome,Data,UFCD,Assiduidade。行“Assiduidade”(出勤)有预先定义的值:

如果学生在课堂上,那么“Assiduidade”= 1如果学生失踪,那么“Assiduidade”= 2

如果一个学生错过了同一个班级3次,那么他就失败了

我正在尝试做的是制作某种过滤器,这样每当我按下按钮时,它会显示学生的姓名和他们失败的课程。如果没有学生任何课程失败,那么显然什么都不会出现。

我的代码显然有问题,如果不是所有的话,我已经搜索了很多但没有找到我正在寻找的东西,所以提前感谢你的帮助!

Private Sub Comando192_Click()

Me.RecordSource = "SELECT tbl1Assiduidade.Nome, tbl1Assiduidade.UFCD 
FROM tbl1Assiduidade 
HAVING COUNT (tbl1Assiduidade.Assiduidade FROM tbl1Assiduidade WHERE tbl1Assiduidade.Assiduidade = 2) > = 3"

Me.Requery


End Sub
sql ms-access access-vba
2个回答
1
投票
  • 选择tbl1Assiduidade.Assiduidade = 2所有记录
  • 通过NameUFCD对记录进行分组。
  • 选择具有3个或更多记录的组。 select t.Nome, t.UFCD from tbl1Assiduidade t where t.Assiduidade = 2 group by t.Nome, t.UFCD having count(*) > 2

0
投票

不需要子查询,你可以通过使用过滤器尝试如下

SELECT tbl1Assiduidade.Nome,
 tbl1Assiduidade.UFCD 
 FROM tbl1Assiduidade 
 bl1Assiduidade.Assiduidade = 2
group by tbl1Assiduidade.Nome,
 tbl1Assiduidade.UFCD
 having count(*)>=3
© www.soinside.com 2019 - 2024. All rights reserved.