Mark Whittinghill
mwhittinghill at symphonyinfo.com
Thu Jul 31 15:20:01 CDT 2003
Ding Ding Ding!! That is the correct answer! Thanks, Charles Mark Whittinghill Symphony Information Services 612-333-1311 mwhittinghill at symphonyinfo.com ----- Original Message ----- From: "Wortz, Charles" <CWortz at tea.state.tx.us> To: "Access Developers discussion and problem solving" <accessd at databaseadvisors.com> Sent: Thursday, July 31, 2003 3:05 PM Subject: RE: [AccessD] Age calculation function > Mark, > > DateDiff() doesn't round up. The problem is it counts the number of > time intervals crossed between the two dates. If you use "yyyy" as the > time interval, then it counts 30 time intervals (1974, 1975, ..., 2003) > between #1973/08/01# and #2003/07/31#. If you use months and divide by > 12 you should get the correct answer. The trick to DateDiff is to use > the next smaller time interval and then adjust the answer to the time > interval you want. > > Charles Wortz > Software Development Division > Texas Education Agency > 1701 N. Congress Ave > Austin, TX 78701-1494 > 512-463-9493 > CWortz at tea.state.tx.us > > > > -----Original Message----- > From: Mark Whittinghill [mailto:mwhittinghill at symphonyinfo.com] > Sent: Thursday 2003 Jul 31 14:52 > To: accessd at databaseadvisors.com > Subject: [AccessD] Age calculation function > > Hi all, > > I need an age calculation function to calculate current age from > birthday. If the person's 30th birthday is on August 1, I want them to > be 29 on July31st. DateDiff rounds up and makes them 30. I made this > function > > Public Function CalculateAge(datBirth As Date) As Long > > Dim lngNumDays As Long > lngNumDays = DateDiff("d", datBirth, Date) > > CalculateAge = Int(lngNumDays / 365.25) > > End Function > > > It works, except when today's date is their birthday. In my example, on > their birthday, the function returns 29. The next day it works. It > works for some years on the birthday and not others. How can I make > this foolproof? > > Mark Whittinghill > Symphony Information Services > 612-333-1311 > mwhittinghill at symphonyinfo.com > _______________________________________________ > AccessD mailing list > AccessD at databaseadvisors.com > http://databaseadvisors.com/mailman/listinfo/accessd > Website: http://www.databaseadvisors.com >