Douglas Barnes
doug at starntech.com
Wed Jul 28 07:50:48 CDT 2004
Try looking at the DATESERIAL function Function Age(Date1 As Date, Date2 As Date) As String Dim Y As Integer Dim M As Integer Dim D As Integer Dim Temp1 As Date Temp1 = DateSerial(Year(Date2), Month(Date1), Day(Date1)) Y = Year(Date2) - Year(Date1) + (Temp1 > Date2) M = Month(Date2) - Month(Date1) - (12 * (Temp1 > Date2)) D = Day(Date2) - Day(Date1) If D < 0 Then M = M - 1 D = Day(DateSerial(Year(date2), Month(date2), 0)) + D End If Age = Y & " years " & M & " months " & D & " days" End Function Douglas Barnes Starn Technical Services P. O. 1172 Meadville, PA 16335 814.724.1045 doug at starntech.com www.starntech.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Scott Marcus Sent: July 28, 2004 8:10 AM To: Access Developers discussion and problem solving Subject: RE: [AccessD] Dividing days into years and months Here is a function that is approximate. You will need to add code for leap years... Public Function YMD(ByVal startdate As Date, ByVal enddate As Date) Dim intYears As Integer Dim intMonths As Integer Dim intDays As Integer intDays = DateDiff("d", startdate, enddate) intYears = intDays / 365 intMonths = (intDays / 365) * 12 - (intYears * 12) intDays = intDays - (intYears * 365) - ((intMonths / 12) * 365) YMD = "Years:" & intYears & " Months:" & intMonths & " Days:" & intDays End Function -- _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com