Kostas Konstantinidis
kost36 at otenet.gr
Mon Nov 19 10:05:16 CST 2007
Hi Gustav,
I feel to say a great thank's to you and all the people aided me the last
two years
to face many problems on my beggining in ms access.
Be well
kostas
----- Original Message -----
From: "Gustav Brock" <Gustav at cactus.dk>
To: <accessd at databaseadvisors.com>
Sent: Monday, November 19, 2007 4:23 PM
Subject: Re: [AccessD] MSAccess 2007 - Count days
> Hi Kostas
>
> You can copy and paste the code into a new module. Save this and the
> function can be used anywhere as the built-in functions of Access (like,
> say, DateDiff).
> If this is what is causing you problems, somebody else could perhaps help
> you with a beginner's guide to VBA (I have none, sorry).
>
> /gustav
>
>>>> kost36 at otenet.gr 16-11-2007 11:23 >>>
> Gustav,
> could you please show me the way to use that function
> I am not really familiar with function's code
> thank's a lot
> /kostas
>
>
> ----- Original Message -----
> From: "Gustav Brock" <gustav at cactus.dk>
> To: <accessd at databaseadvisors.com>
> Sent: Friday, November 16, 2007 1:17 AM
> Subject: Re: [AccessD] MSAccess 2007 - Count days
>
>
>> Hi Kostas
>>
>> Here is the function we use:
>>
>> Public Function ISO_WorkdayDiff( _
>> ByVal datDateFrom As Date, _
>> ByVal datDateTo As Date) _
>> As Long
>>
>> ' Purpose: Calculate number of working days between dates datDateFrom and
>> datDateTo.
>> ' Assumes: 5 or 6 working days per week. Weekend is (Saturday and)
>> Sunday.
>> ' Limitation: Does not count for public holidays.
>> ' May be freely used and distributed.
>> ' 1999-04-23. Gustav Brock, Cactus Data ApS, Copenhagen
>> ' 2000-10-03. Constants added.
>> ' Option for 5 or 6 working days per week added.
>>
>> Const cbytWorkdaysOfWeek As Byte = 5
>>
>> Dim bytSunday As Byte
>> Dim intWeekdayDateFrom As Integer
>> Dim intWeekdayDateTo As Integer
>> Dim lngDays As Long
>> Dim datDateTemp As Date
>>
>> ' Reverse dates if these have been input reversed.
>> If datDateFrom > datDateTo Then
>> datDateTemp = datDateFrom
>> datDateFrom = datDateTo
>> datDateTo = datDateTemp
>> End If
>>
>> ' Find ISO weekday for Sunday.
>> bytSunday = WeekDay(vbSunday, vbMonday)
>>
>> ' Find weekdays for the dates.
>> intWeekdayDateFrom = WeekDay(datDateFrom, vbMonday)
>> intWeekdayDateTo = WeekDay(datDateTo, vbMonday)
>>
>> ' Compensate weekdays' value for non-working days (weekends).
>> intWeekdayDateFrom = intWeekdayDateFrom + (intWeekdayDateFrom =
>> bytSunday)
>> intWeekdayDateTo = intWeekdayDateTo + (intWeekdayDateTo = bytSunday)
>>
>> ' Calculate number of working days between the two weekdays, ignoring
>> number of weeks.
>> lngDays = intWeekdayDateTo - intWeekdayDateFrom - (cbytWorkdaysOfWeek *
>> (intWeekdayDateTo < intWeekdayDateFrom))
>> ' Add number of working days between the weeks of the two dates.
>> lngDays = lngDays + (cbytWorkdaysOfWeek * DateDiff("w", datDateFrom,
>> datDateTo, vbMonday, vbFirstFourDays))
>>
>> ISO_WorkdayDiff = lngDays
>>
>> End Function
>>
>> To exclude holidays, look up and count the holidays from a table of
>> holidays not falling in weekends; substract this number from the count of
>> working days.
>>
>> /gustav
>>
>>>>> kost36 at otenet.gr 15-11-07 20:49 >>>
>> Hi all,
>>
>> Does anybody know how it could be possible to count
>> the work days between two days excluding weekends and local holidays
>> To my coutry there are several dates as holidays and some of them
>> are moving year by year
>>
>> many thank's to all
>>
>> /kostas
>
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>