ACCESS 日付レコードを一括作成する機能(VBAコード公開)

ACCESSでは日付単位でレコードを作成するシーンが多々あります。
例えば日々の売上を入力するデータベースや、勤怠管理のデータベースなどです。

そういった際に、1か月分の日付レコードを自動生成することができれば便利です。

今回は日付レコードを一括作成する機能をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSで実際に作成したフォームやレポートを、その作成方法と共にご紹介していきます。

目次

日付をレコード追加する機能

最初に作成する機能の内容を紹介します。
今回は、以下のTRN_日付テーブルを準備しました。

日付のフィールドだけがあるテーブルです。
サンプル用なので日付だけにしましたが、実際にし利用する場合は日付単位で入力する他のフィールドを付加したテーブルにすることが多いでしょう。

このテーブルに、日付を本日の日付まで自動的に追加するというプロシージャを作成します。

VBAプログラミング

では、実際に作成したVBAのプロシージャを紹介します。

VBAのADOを使ってテーブルにレコードを追加するプロシージャです。
順に解説していきます。

最初に

で変数の宣言をしています。
これはADOで使用する変数の宣言です。

ADOについて詳しくは以下の記事をご覧下さい。

ADOを使ったレコード操作

次に

では、recent_dateという変数に、TRN_日付テーブルの最新の日付を入力します。
この変数を使って、TRN_日付テーブルの日付と現在の日付を比較していきます。

の条件式でrecent_dateとDate(現在の日付)を比較し、異なっていればレコードの追加処理を行います。

上記のループ処理では、recent_dateがDateと同一になるまで、1レコードずつ追加をしています。
rst1というレコードセットにTRN_日付テーブルを代入しており

でrecent_dateに+1日した日付を設定した上でレコードの追加を行います。
そして

でrecent_dateを1日増加させて再度ループの判定を行っていくという処理です。

この処理を実行するととで、本日の日付分まで自動でテーブルにレコードを追加することが可能です。

以上、日付レコードを一括作成する機能をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に300以上のACCESSデータベースの開発・修正実績のあるはこにわガジェット(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

フッターバナー

最後までお読みいただき、ありがとうございました。

日付レコードを一括作成する機能

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次