首页 > 解决方案 > VB.NET/Access - 计算每个学生的数据条目数/总出勤率

问题描述

我有一个包含以下字段的表格。学生 ID、姓氏、名字、培训日期。我有用于在 TrainDate 字段中输入出勤日期的 Windows 表单。TrainDate 字段是短文本。我的目标是计算每个人有多少 TrainDate 条目并将其显示在 datagridview 中。

这是我正在处理的查询,但出现以下错误:“条件表达式中的日期类型不匹配”

Access.ExecQuery("SELECT FirstName AS [FIRST NAME], LastName AS [LAST NAME],
                             SUM(TrainDate) AS [TOTAL CLASSES]
                      FROM ACJATTENDANCE
                      GROUP BY FirstName, LastName, TrainDate;")

    ' REPORT & ABORT ON ERRORS
    If NoErrors(True) = False Then End

    ' FILL DATAGRID
    dgvAttend.DataSource = Access.DBDT

有人可以帮我找出错误的原因吗?我已经使用这个查询成功地计算了程序另一部分的输赢。我不确定,但我认为这与 TrainDate 有关。

标签: vb.netms-access

解决方案


您正在计算出勤率,因此您可能想要使用 COUNT 函数而不是 SUM 不要忘记从 GROUP BY 选择中删除 TrainDate,否则您将无法获得所需的结果。

SELECT FirstName AS [FIRST NAME], LastName AS [LAST NAME],
COUNT(TrainDate) AS [TOTAL CLASSES]
FROM ACJATTENDANCE
GROUP BY FirstName, LastName ;

推荐阅读