• ベストアンサー

Access 日付けについての関数

毎年10月の第一金曜日の日付けを表示させるにはどうしたらよいでしょうか? 年度を入力すると、その年度の10月の第一金曜日の日にち ○月○日(金)というように表示できないでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

同じようなものですが、クエリでの書き方例です。 SELECT format(iif(weekday([年?] & "/10",6)=1,[年?] & "/10",dateadd("d",8-weekday([年?] & "/10",6),[年?] & "/10")),"m月d日(aaa)") AS 日付; これを保存実行すると、年? を聞いてきますので、2009 とか入力します。 ( H21 の入力でも、平成21 の入力でも、そこそこ動きます) ※入力された年の 10/1 が、金曜日基準で1なら、10/1を、 でなければ、8 - 金曜日基準値 を10/1に加算。 それを指定形式に変換 ※日付部分で日を省略すると1日となります。 明示的に "/10" を "/10/01" にしても・・・

Gulagula
質問者

お礼

ありがとうございます(^^) 自分のレベル以上ですが、がんばってやってみます。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

表示というのが不明ですが求め方としては10/1の曜日を調べ(WEEKDAY関数)、 あとはその結果で日付を±すると言うのは如何でしょう? Dim i As Integer Dim dd As Date For i = 2001 To 2010 dd = DateSerial(i, 10, 1) dd = IIf(Weekday(dd) < 6, dd + (6 - Weekday(dd)), IIf(Weekday(dd) = 6, dd, dd + 6)) Debug.Print Format(dd, "yyyy/mm/dd(aaaa)") Next がご参考になれば。

Gulagula
質問者

お礼

ありがとうございます。 自分のレベル以上ですが、がんばってみます。

関連するQ&A