Heenan, Lambert
Lambert.Heenan at AIG.com
Fri Jun 15 13:11:43 CDT 2007
FWIW here's my leap year function... Function bLeap(nYear As Integer) As Boolean bLeap = (nYear Mod 4 = 0 And nYear Mod 100 <> 0) Or (nYear Mod 400 = 0) End Function Same logic, just a little briefer - oh, and it returns a Boolean, not a Variant. Lambert -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Bryan Carbonnell Sent: Friday, June 15, 2007 11:54 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Birthday in table On 6/15/07, Arthur Fuller <fuller.artful at gmail.com> wrote: > The definition of a leap year is a two-step: > > 1. if the year is evenly divisible by four then you're cool, except: > 2. if the year ends in 00 then it must be evenly divisible by 400 -- > thus 1900 was not a leap year but 2000 was. > > That should be enough data. Determining Leap years are actually a 3 step process Is the year evenly divisible by 4? If so, it is a leap year, unless... Is the year evenly divisible by 100? (for example, 1500?) If so, it is not a leap year, unless... Is the year evenly divisible by 400? If so, it is a leap year. Here is a function I cribbed from wikipedia to determine if a year is a leap year. Function ISLEAPYEAR(Year As Integer) ' This is a function which returns a simple TRUE ' or FALSE depending on whether it fits. Dim varAns As Boolean If Year Mod 400 = 0 Then varAns = True Else If Year Mod 100 = 0 Then varAns = False Else If Year Mod 4 = 0 Then varAns = True Else varAns = False End If End If End If ISLEAPYEAR = varAns End Function -- Bryan Carbonnell - carbonnb at gmail.com Life's journey is not to arrive at the grave safely in a well preserved body, but rather to skid in sideways, totally worn out, shouting "What a great ride!" -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com