2012-04-25 82 views
1

我能够运行查询并更新创建日期。不过,我想排除周末,周一至周五。访问SQL扣除日期的日期

例子:

UPDATE [Table1] SET [Table1].Days = DATE() - [Table1].DateCreated WHERE [Table1].Password = True AND [Table1].Complete = FALSE; 

这将更新的日子,从创建日期为当前日期的值,这将是1,2,3等,但我需要这个排除周末。我不经常运行查询,但我想创建此查询。

请帮忙,谢谢。

+0

那么,每7天只有5次? – 2012-04-25 15:19:15

+0

是的,星期一到星期五。我只需要营业日。我不在乎假期,只是在周末。 – 2012-04-25 16:30:40

回答

0

它将从Access会话中运行查询,您可以使用VBA用户定义的函数来计算两个日期之间的工作日数。

例如,考虑来自Access Web的WorkingDays()函数:Calculate Number of Working Days。如果我正确理解您的查询,我想这可能就是你所想要的东西:

UPDATE [Table1] 
SET [Table1].Days = WorkingDays([Table1].DateCreated, DATE()) 
WHERE [Table1].Password = True AND [Table1].Complete = FALSE; 

在同一页面上,你可以找到一个​​功能,将让你排除在工作日的假期计算,如果这是有用的。你需要为你的假期设置一张桌子。

如果您将从Access会话之外执行此操作,例如从传统的ASP或Dot.Net,您将无法在查询中使用用户定义的函数。