- ベストアンサー
Access 日付けについての関数
毎年10月の第一金曜日の日付けを表示させるにはどうしたらよいでしょうか? 年度を入力すると、その年度の10月の第一金曜日の日にち ○月○日(金)というように表示できないでしょうか? よろしくお願いします。
- みんなの回答 (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" にしても・・・
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
表示というのが不明ですが求め方としては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 がご参考になれば。
お礼
ありがとうございます。 自分のレベル以上ですが、がんばってみます。
お礼
ありがとうございます(^^) 自分のレベル以上ですが、がんばってやってみます。