【问题标题】:Formatting Date within an IIF statement在 IIF 语句中格式化日期
【发布时间】:2018-02-16 00:13:17
【问题描述】:

我正在通过使用访问数据库自动生成报告,但在尝试格式化日期以在 IIF 语句中包含文本时遇到了问题。我想要做的是,当一个日期超过今天的日期时,然后将日期推迟到下个月的第一天,然后按财政年度和季度格式化日期,但在我们公司的格式内,例如“IFX 2018 财年第二季度”。我遇到的问题是格式有效但季度不正确,例如它显示 IFX FY18_Q1 而应该是 IFX FY18_Q2。这是声明:

IIF(Date1<=DATE( ), "IFX FY"&FORMAT((DateSerial(Year(DateAdd("m", 1,DATE( ))), Month(DateAdd("m", 1, DATE( ))), 1)), "YY"&"_"&"\Qq"), Date1))

有什么我做错了或更简单的方法来完成这个吗?

谢谢

【问题讨论】:

    标签: sql ms-access format


    【解决方案1】:

    分几步做:

    If Date1 < Date Then
         Date1 = DateSerial(Year(Date), Month(Date) + 1, 1)
    End If
    ' Offset date to fit fiscal year. Here three months.
    Date1 = DateAdd("m", 3, Date1)
    
    ' Format text date.
    IFXDate = "IFX FY" & Format(Date1, "yy_\Qq")
    

    对于一个不可读的单行,它可能是:

    ="IFX FY" & Format(DateAdd("m", 3, IIf(Date1 < Date(), DateSerial(Year(Date), Month(Date) + 1, 1), Date())), "yy_\Qq")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      相关资源
      最近更新 更多