2012-04-25 78 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,您將無法在查詢中使用用戶定義的函數。