A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » General Discussion
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Business Days Between Two Dates?



 
 
Thread Tools Display Modes
  #1  
Old May 15th, 2010, 05:57 AM posted to microsoft.public.access
Tom van Stiphout[_2_]
external usenet poster
 
Posts: 1,653
Default Business Days Between Two Dates?

On Fri, 14 May 2010 19:14:23 -0400, "(PeteCresswell)"
wrote:

How slow? FMS Inc has a BusinessDayAdd and BusinessDayDiff loosely
based on the same algorithm, and I have never had a problem. Probably
never had to run it over several years.

Do bonds really care about business days? That surprises me.

Yes, you could pre-populate a table overnight every night. Or perhaps
even populate a table with offsets on a more permanent basis. Go for
it! Maybe you even want to contribute it back to the greater good.
Just be careful about the oleaut32 bug reported he
http://support.microsoft.com/kb/200299

-Tom.
Microsoft Access MVP


Business days between two dates has got to involve a tblHoliday.

Right now I've got such a table - mostly populated with bank
holidays and I compute biz days between two dates by iterating
through the days one-by-one: if it's a Saturday or Sunday it's
not a biz day.... otherwise I do a table lookup - no hit, then
it's a biz day.

But this is *really* slow for processing a record set of, say,
2000 records.

I'm thinking a faster approach would involve re-creating a table
of business days from some begin date to some end date each time
tblHolidays is updated and then doing some SQL magic to bang a
recordset up against that table and somehow bulk-calculate, for
instance, the number of business days between a bond's maturity
date and today's date... or whether or not a bond matures within
60 business days.

Has anybody come up with such an approach?

  #2  
Old May 15th, 2010, 04:00 PM posted to microsoft.public.access
Arvin Meyer [MVP][_2_]
external usenet poster
 
Posts: 2,310
Default Business Days Between Two Dates?

The case of bond maturity can run almosrt instantly since it doesn't need to
run either of those functions or the one at:

http://www.datastrat.com/Code/GetBusinessDay.txt

for every row. For bond maturity in say 60 business days, use the above link
to add 60 days to the current day, then store that date in a global
variable. In a query, use a function to compare that variable to the Bond
Maturity Date. Since it does need to run the function thousands of times,
it's very fast that way.
--
Arvin Meyer, MCP, MVP
http://www.datastrat.com
http://www.accessmvp.com
http://www.mvps.org/access


"Tom van Stiphout" wrote in message
...
On Fri, 14 May 2010 19:14:23 -0400, "(PeteCresswell)"
wrote:

How slow? FMS Inc has a BusinessDayAdd and BusinessDayDiff loosely
based on the same algorithm, and I have never had a problem. Probably
never had to run it over several years.

Do bonds really care about business days? That surprises me.

Yes, you could pre-populate a table overnight every night. Or perhaps
even populate a table with offsets on a more permanent basis. Go for
it! Maybe you even want to contribute it back to the greater good.
Just be careful about the oleaut32 bug reported he
http://support.microsoft.com/kb/200299

-Tom.
Microsoft Access MVP


Business days between two dates has got to involve a tblHoliday.

Right now I've got such a table - mostly populated with bank
holidays and I compute biz days between two dates by iterating
through the days one-by-one: if it's a Saturday or Sunday it's
not a biz day.... otherwise I do a table lookup - no hit, then
it's a biz day.

But this is *really* slow for processing a record set of, say,
2000 records.

I'm thinking a faster approach would involve re-creating a table
of business days from some begin date to some end date each time
tblHolidays is updated and then doing some SQL magic to bang a
recordset up against that table and somehow bulk-calculate, for
instance, the number of business days between a bond's maturity
date and today's date... or whether or not a bond matures within
60 business days.

Has anybody come up with such an approach?



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 03:00 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.