I wouldn't call it a weakness of the program, but perhaps a misunderstanding
on your part.
In Access, there is no Time data type. The only related data type, the Date
data type, is intended for timestamps (i.e.: specific Date/Times), not for
durations. That's because under the covers, the Date data type is an eight
byte floating point number where the integer portion represents the date as
the number of days relative to 30 Dec, 1899, and the decimal portion
represents the time as a fraction of a day.
To store durations in Access, decide what granularity you want (hours?
minutes? seconds?), and store the durations as long integers in those units.
In other words, if you want to keep track of minutes, store your 994 hours
as 59640 (994 * 60). Remember that DateDiff is only capable of returning
differences as long integers in the time unit you request, so if you've got
TimeStarted and TimeEnded variables, you can use DateDiff("n", TimeStarted,
TimeEnded) to give you the duration in minutes and add it to your existing
total.
If you want to be able to display the durations as something other than
minutes, write your own functions to convert to and from the formatted
display.