2016-02-04 3 views
0

Query ExampleAccess расчет 2007 Дата запроса

У меня есть следующий запрос доступа (смотри выше), чтобы дать мне дату, X количество недель из фактического WorkDte, который существует в таблице. Но дата, рассчитанная этими выражениями, на самом деле не существует в таблице «CIB_Results» из-за банковского праздника и т. Д. Есть ли способ генерировать данные такого же типа, но скажите, работает ли он при вычислении «Wk1» и вычисляется 1/1/2016 (который не существует из-за нового года), вместо выполнения [WorkDte] -7 он перейдет к [WorkDte] -14 и т. Д., Пока не найдет фактическую дату, существующую в Таблица "CIB_Results"? Я хочу применить ту же логику ко всем полям в запросе ... таким образом, они будут полностью настроены на основе фактических дат, существующих в таблице «CIB_Results». Любая помощь с этим будет принята с благодарностью!

ответ

0

имеет функцию IsHoliday(SomeDate), которая выглядит на SomeDate в вашем праздничном столе и возвращает Истинной если найдено.

Затем создайте цикл:

Public Function PreviousWorkWeekday(ByVal SomeDate As Date) As Date 

    Do 
     SomeDate = DateAdd("ww", -1, SomeDate) 
    Loop Until Not IsHoliday(SomeDate) 
    PreviousWorkWeekday = SomeDate 

End Function 

Теперь использовать функцию PreviousWorkWeekday в запросе.

Смежные вопросы