#401 「カレンダ」テーブルのデータの作り方 VBA

「For〜Next」構文では、ループカウンタの変数(日付/時刻型の変数)に日付の範囲を代入することによって、○年○月○日〜○年○月○日というループ処理を行うことができます。ここでは、その方法を使って、カレンダデータを保存するテーブルにある1年分の日付データを書き出す例を紹介します。

まず、次のような構造の「tblカレンダ」テーブルを作成します。
tblカレンダテーブルのデザイン

そして、次のようなプログラムを実行します。ここでは、「tblカレンダ」というテーブルに対して、2006年01月01日〜2006年12月31日の範囲で、それぞれの日付・曜日・その年の何日目か・その年の第何週かを出力しています。

Dim dbs As Database
Dim rst As Recordset
Dim dtmLoop As Date

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tblカレンダ")
With rst
  For dtmLoop = #1/1/2006# To #12/31/2006#
    .AddNew
      !日付 = dtmLoop
      !曜日 = Format$(dtmLoop, "aaa")
      !通年日 = Format$(dtmLoop, "y")
      !通年週 = Format$(dtmLoop, "ww")
    .Update
  Next dtmLoop
  .Close
End With


実行結果:
実行結果のtblカレンダテーブル
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved