VB.NET/Access - Рассчитайте, сколько записей данных / общая посещаемость для каждого студента - PullRequest
0 голосов
/ 24 марта 2020

У меня есть таблица со следующими полями. StudentID, LastName, FirstName, TrainDate. У меня есть форма windows, которую я использую для ввода даты посещения в поле TrainDate. Поле TrainDate является кратким текстом. Моя цель - подсчитать, сколько записей TrainDate есть у каждого человека, и отобразить их в виде таблицы данных.

Это запрос, над которым я работаю, но я получаю следующую ошибку: «Несоответствие типа даты в выражении критерия»

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.

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Вы рассчитываете посещаемость, поэтому, вероятно, вы хотите использовать функцию COUNT вместо SUM. Не забудьте удалить TrainDate из выбора GROUP BY, иначе вы не получите желаемый результат.

SELECT FirstName AS [FIRST NAME], LastName AS [LAST NAME],
COUNT(TrainDate) AS [TOTAL CLASSES]
FROM ACJATTENDANCE
GROUP BY FirstName, LastName ;
0 голосов
/ 24 марта 2020

Проблема заключалась в том, что мое поле даты в моей таблице базы данных было настроено на короткий текст вместо даты \ времени.

...