在访问中遇到了总和问题。我有一张桌子有几个小时的假期通知单,但是对于一个雇员来说,sql语句不能正常工作...。通常应该是120个小时,但是结果是96个小时。 当我从小时表中删除一行时,结果从96小时增加到112小时。我将添加屏幕截图和查询中的代码。如果您需要更多信息,请问我。
SELECT b.Name &' '& Vorname AS Name, MonthName(MONTH(a.datum)) &' '& YEAR(a.datum) AS Datum, Format(24*Int(Sum(Gesamt))+Hour(Sum(Gesamt)),"0") & ":" & Format(Sum(Gesamt),"nn") AS Gesamtzeit, a.Bemerkung
FROM Stunden AS a INNER JOIN Mitarbeiter AS b ON a.MitarbeiterID = b.ID
GROUP BY b.Name &' '& Vorname, Bemerkung, MonthName(MONTH(a.datum)) &' '& YEAR(a.datum)
ORDER BY b.Name &' '& Vorname, MonthName(MONTH(a.datum)) &' '& YEAR(a.datum);
答案 0 :(得分:2)
您有15条记录,并且:
(24 * #08:00:00#) * 15 = 120
您的某些记录的时间值为负值
? #08:00:00#
08:00:00
? -#08:00:00#
08:00:00
因此,请仔细检查您的值,例如:
Select *, CDbl([Gesamt]) As TimeCheck From Studententabelle