
24-11-20, 12:24
|
| Όνομα: Γιώργος Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική | | Εγγραφή: 02-04-2013 Περιοχή: Κύπρος
Μηνύματα: 738
| |
Παράθεση:
Αρχική Δημοσίευση από pctechdr Function fAge(dteStart As Variant, dteEnd As Variant) As Variant
'*******************************************
'Purpose: Accurately return the difference
' between two dates, expressed as
' years.months.days
'Coded by: raskew (from MS Access forum)
'Inputs: From debug (immediate) window
' 1) ? fAge(#12/1/1950#, #8/31/2006#) 'Calculate btw 2 specific dates
' 2) ? fAge(#12/30/2005#, Date()) ' Calculate as of today's date
'*******************************************
Dim intHold As Integer
Dim dayhold As Integer
'correctly return number of whole months difference
'the (Day(dteEnd) < Day(dteStart)) is a Boolean statement
'that returns -1 if true, 0 if false
intHold = DateDiff("m", dteStart, dteEnd) + (Day(dteEnd) < Day(dteStart))
'correctly return number of days difference
If Day(dteEnd) < Day(dteStart) Then
dayhold = DateDiff("d", dteStart, DateSerial(Year(dteStart), Month(dteStart) + 1, 0)) + Day(dteEnd)
Else
dayhold = Day(dteEnd) - Day(dteStart)
End If
fAge = LTrim(Str(intHold \ 12)) & " years " & LTrim(Str(intHold Mod 12)) & " months " & LTrim(Str(dayhold)) & " days"
End Function | Χρίστο γεία σου,
Πρώτα από όλα σε ευχαριστω για την λϋση που πρωτείνεις. Ωστόσο, θα ήθελα μια πιο απευθείας λύση μέσα απο ερώτημα αν ειναι δυνατό....
Σε ευχαριστω
|