Access Tips by pPoy

  
トップへ←Top    QueryへQuery  FormへForm  ReportへReport  Module(Sub)へSub  Module(Function)へFunction  ExcelへExcel  Etc.へEtc.  Word連携へWord

etc. 日付の計算方法 《1ヶ月後、1年前、月末日》
(Ac97,Ac2000,Ac2002)
Accessでの日付の計算方法は難しいです。以下は色々な日付の計算方法一覧です。
≪受注日の30日後を表示≫

   =DateAdd("d",30,[受注日])


   これは単純に、受注日に30日を足した日付が返されます。
≪受注日の1ヶ月後を表示≫

  =DateAdd("m",1,[受注日])


   これは、カレンダーのきっちり1ヶ月後が返ってきます。
≪受注日の1年前を表示≫

  =DateAdd("yyyy",-1,[受注日])


   これは、カレンダーの1年前が返ってきます。
≪今月の月末日を表示 (年月日)≫

  =DateSerial(Year(Now()),Month(Now())+1,0)


   これを実行すると、今月の月末日が表示されます。
   月末とは、翌月の最初の日の前日という意味です。 最後の0は、(最初の日-1=0)と言う事です
   今日が、2005/09/01 の場合結果は、「2005/09/30」 となります。
≪今月の月末日を表示 (日)≫

  =Day(DateSerial(Year(Now()),Month(Now())+1,0))


   これを実行すると今月の月末日が、dd 形式で表示されます。
   今月が 10月 の場合結果は、「31」 となります。
≪週数を表示≫

  = DatePart("ww", DateSerial(Year(Now), Month(Now) + 1, 0)) _
   - DatePart("ww", DateSerial(Year(Now), Month(Now), 1)) + 1


   これを実行すると、今月に含まれる週の数が表示されます。
≪おまけ1≫

  "yyyymm" 形式 (4桁の西暦年と2桁の月 形式) の前月を表示

  = Format(DateAdd("m", -1,DateSerial(CInt(Left([年月], 4)), _
   CInt(Right([年月], 2)), 1)),"yyyymm")


   [年月] に格納されている値が "200601" (2006年01月) の場合、
   これを実行すると、"200512" が表示されます。
≪おまけ2≫

  指定日が、今日から何ヶ月前かを表示

  = Format([指定日], "yyyymm") - Format(Date(), "yyyymm")

   [指定日] に格納されている値が "2010/01/01" で、本日の日付が "2010/06/12" の場合、
   これを実行すると、「5」 が表示されます。

   つまり 「2010/01/01」 は、「2010/06/12」 の5ヶ月前ということになります。
≪注意≫

  • 上記の式の1行目の末尾にある 「 _ 」(半角スペースとアンダーバー) は、
    フォームのテキストボックスやクエリ内では使用できません。エラーとなります。
    クエリやテキストボックスでは、かなり長い式でも途中に改行を入れずに続けて記述します。

  • 今日の日付と時刻を表す 「Now 関数」 を VBA で使う場合は、
    Now、 Now() どちらでもOKです。
    但し、クエリやフォームのテキストボックスに使う場合は、( ) が必要です。


この頁のTOPへTop

【念の為の注意書きです。】
このページ(下位ページ含む)の全ての物の無断転載を禁止いたします。又、当ページ(下位ページ含む)に記載されていることは、全て自己の責任において実行してください。

☆ 感想をお知らせください (直接ブラウザから送信致します。メールアカウントは不要です。)
  form mail はこちら

Copyright(C) pPoy 2000-2005