2013/05/27

Office 365 Access アプリ -33- 日付/時刻関数 - DateAdd/DateDiff/EOMonth

よく使う関数についてメモをしておく。こういうのは勢いが大事。そして、後で考える。
DateAdd 関数 (Access 2013 カスタム Web アプリ)
DateDiff 関数 (Access 2013 カスタム Web アプリ)
EOMonth 関数 (Access 2013 カスタム Web アプリ)
DateFromParts 関数 (Access 2013 カスタム Web アプリ)
  特別にややこしいものはない。DateFromParts 関数の第2引数は 1から 12、第3引数は 1から 31で存在しない日付になる場合は エラーになる。いずれかが Null の場合、Null が返る。月末を求める EOMonth 関数があるのでいかようにもなるかなと。
  • 先月末
    EOMonth([F_Date],-1)
  • 今月末
    EOMonth([F_Date],0)
  • 来月末
    EOMonth([F_Date],1)
  • 先月1日
    DateAdd(Day,1,EOMonth([F_Date],-2))
  • 今月1日
    DateAdd(Day,1,EOMonth([F_Date],-1))
  • 来月1日
    DateAdd(Day,1,EOMonth([F_Date],0))
  • 四半期4月開始
    Choose(DatePart(Quarter,[F_Date]),4,1,2,3)
    DatePart(Quarter,DateAdd(Quarter,-1,[F_Date]))
  • 25締翌末
    EOMonth(DateAdd(Day,-25,[F_Date]),2)
  • 15締翌15
    DateAdd(Day,15,EOMonth(DateAdd(Day,-15,[F_Date]),1))
  • 曜日(固定):強引に集計フィールドで使うなら
    DateDiff(Day,DateFromParts(1899,12,31),[F_Date]) Mod 7+1
  • yyyy-MM (Required : F_Date) 集計フィールドでFormat 関数が使えないので。
    Concat(DatePart(Year,[F_Date]),'-',Right(Concat('0',DatePart(Month,[F_Date])),2))
  • yyyy-MM
    IIf([F_Date] Is Null,Null,Concat(DatePart(Year,[F_Date]),'-',Right(Concat('0',DatePart(Month,[F_Date])),2)))

0 件のコメント: