Calculates The Difference Between 2 Columns

uneek78

Registered User.
Local time
Today, 00:17
Joined
Mar 26, 2009
Messages
68
Is there a way to make a query that can give the difference of 2 columns that have date/time to give a result in days/hours/minutes in the 3rd column? I have a formula in excel that does this. I transferred that data into access and of course access is not calculating the time.
 
Save the following code to a module

Code:
Function Elapsed(Mins As Integer) As String
    Elapsed = Mins \ 60 & " hour" & IIf(Mins \ 60 <> 1, "s ", " ") & Mins Mod 60 & " minute" & IIf(Mins Mod 60 <> 1, "s", "")
End Function

Function MinsToTime(AnyMins As Integer) As String
    Dim h As Integer
    Dim M As Integer
    Dim nTime As String
    
        h = Int(AnyMins / 60)
        M = AnyMins - (h * 60)
        nTime = Format(h, "00") & ":" & Format(M, "00")
    MinsToTime = nTime
End Function


Function TimeToMins(AnyTime As String) As Integer
If AnyTime = "" Then Exit Function
    TimeToMins = (Left(AnyTime, 2) * 60) + Right(AnyTime, 2)
End Function

Use them as you wish

You can also use the DateDiff() function to calculate durations.
 
Wow..............that's a little more advanced than the formula I use in excel. My annoying question of the day...........how do I use it?
 
Alot depends on how you want to display the data and or what you want to do with it after.

To find the difference between two dates/times you can use a query such as

Duration:DateDiff("d",LowerDate,UpperDate)

This would show you how many days there was between two dates

Here is what Access says about date diff

DateDiff Function


Returns a Variant (Long) specifying the number of time intervals between two specified dates.

Syntax

DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])

The DateDiff function syntax has these named arguments:

Part Description
interval Required. String expression that is the interval of time you use to calculate the difference between date1 and date2.
date1, date2 Required; Variant (Date). Two dates you want to use in the calculation.
firstdayofweek Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed.
firstweekofyear Optional. A constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs.



Settings

The interval argument has these settings:

Setting Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week
h Hour
n Minute
s Second



The firstdayofweek argument has these settings:

Constant Value Description
vbUseSystem 0 Use the NLS API setting.
vbSunday 1 Sunday (default)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday



Constant Value Description
vbUseSystem 0 Use the NLS API setting.
vbFirstJan1 1 Start with week in which January 1 occurs (default).
vbFirstFourDays 2 Start with the first week that has at least four days in the new year.
vbFirstFullWeek 3 Start with first full week of the year.



Remarks

You can use the DateDiff function to determine how many specified time intervals exist between two dates. For example, you might use DateDiff to calculate the number of days between two dates, or the number of weeks between today and the end of the year.

To calculate the number of days between date1 and date2, you can use either Day of year ("y") or Day ("d"). When interval is Weekday ("w"), DateDiff returns the number of weeks between the two dates. If date1 falls on a Monday, DateDiff counts the number of Mondays until date2. It counts date2 but not date1. If interval is Week ("ww"), however, the DateDiff function returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but it doesn't count date1, even if it does fall on a Sunday.

If date1 refers to a later point in time than date2, the DateDiff function returns a negative number.

The firstdayofweek argument affects calculations that use the "w" and "ww" interval symbols.

If date1 or date2 is a date literal, the specified year becomes a permanent part of that date. However, if date1 or date2 is enclosed in double quotation marks (" "), and you omit the year, the current year is inserted in your code each time the date1 or date2 expression is evaluated. This makes it possible to write code that can be used in different years.

When comparing December 31 to January 1 of the immediately succeeding year, DateDiff for Year ("yyyy") returns 1 even though only a day has elapsed.

Note For date1 and date2, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri.
 

Users who are viewing this thread

Back
Top Bottom