【问题标题】:Access 2007 query date calculationAccess 2007查询日期计算
【发布时间】:2016-05-14 10:06:59
【问题描述】:

我有以下 Access 查询(见上文)给我日期,距表中存在的实际 WorkDte X 周数。但是,由于银行假期等原因,这些表达式计算出的日期可能实际上并不存在于“CIB_Results”表中。有没有办法生成相同类型的数据,但如果它正在运行“Wk1”计算并计算出2016 年 1 月 1 日(由于新年假期不存在),而不是执行 [WorkDte]-7,而是继续执行 [WorkDte]-14,依此类推,直到找到存在于“CIB_Results”表?我想对查询中的所有字段应用相同的逻辑……这样它们都会根据“CIB_Results”表中存在的实际日期进行自我调整。对此的任何帮助将不胜感激!

【问题讨论】:

    标签: sql ms-access vba ms-access-2007


    【解决方案1】:

    有一个函数IsHoliday(SomeDate) 在你的假期表中查找SomeDate,如果找到则返回True

    然后创建一个循环:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多