トップ > スキル : アプリケーション > VBA for Access > 応用編(マクロ作成)
VBAの基本知識をこれまで解説していきました。本格的にプロシージャを記述する練習をしても良いのですが、マクロからVBAに変換することによって、マクロではどのようなプログラミングを行っているかが理解できます。さらに、エラートラップ処理やコメント記述もAccessが自動的に作成しますので、学習の手助けになります。
ここでは、まず簡単なマクロを作成して、それをVBA変換して、プロシージャを解説していきます。
マクロを記述するためのテーブル、フォーム、レポートをインポートします。
現在作成している「VBA練習」をVBEウィンドウからAccessウィンドウに切り替えて、インポートします。
[外部データ]タブから[インポート]グループの[Access]ボタンをクリックします。

[参照]ボタンをクリックして、「DMデータ_original」ファイルを選択して、開きます。

[オブジェクトのインポート]ウィンドウから「DMテーブル」「DM表示フォーム」「DM印刷レポート」の3つのオブジェクトをインポートします。

各オブジェクトの確認
「DMテーブル」を開いて、内容を確認します。

ダイレクトメール用に、配信内容を登録しています。
- DM_ID(テキスト型、フィールドサイズ2):各データを一意にするために番号を振っています。
- DM題名(テキスト型、フィールドサイズ(100)):DMのタイトル名
- 内容(メモ型):ダイレクトメールの内容
DM表示フォームを開きます。

DM_IDが表示されるコンボボックスとDM題名と内容が表示されるテキストボックスを配置しています。また、印刷コマンドボタンを右側に配置しています。
すべて非連結コントロールで作成し、DM_IDコンボボックスはコントロールウィザードを利用し、コントロールソースをDMテーブルを指定して作成しています。
フォームをデザインビューに切り替えて表示します。

各コントロールの名前は次の表のように設定しています。
コントロール | 名前 | 説明 |
---|---|---|
DM_IDのコンボボックス | cmb選択 | ここで選択したDM_IDのDM題名と内容を下のテキストボックスに表示させる |
DM題名のテキストボックス | txtタイトル | DMテーブルのDM題名を表示する |
内容のテキストボックス | txt内容 | DMテーブルの内容を表示する |
DM印刷レポートを開く

テーブル内のデータが一覧表示されるレポートになっています。ただし、マクロでは指定したDM_IDのみが印刷プレビューで表示されるようにします。
確認したらすべてのオブジェクトは閉じておきます。