Accessで作成した「顧客管理データベース」アプリへ、「ラベル印刷」機能を実装する簡単な方法Access VBAで学ぶ初心者のためのデータベース/SQL超入門(7)(3/3 ページ)

» 2016年02月05日 05時00分 公開
[薬師寺国安PROJECT KySS]
前のページへ 1|2|3       
※本ページはアフィリエイトプログラムによる収益を得ています

「宛名印刷」用のプログラムを記述する

 では、「宛名印刷」ボタンへ印刷用プログラムを記述していこう。「宛名印刷」ボタンを選択し、プロパティシート→「その他」タブ→名前に「宛名印刷ボタン」と指定する。次に、プロパティシートの「イベント」タブの右端にあるドロップダウンの「▼」アイコンをクリックすると表れる、[イベント プロシージャ]を選択する。

 その横にある「…」アイコンをクリックすると、「Visual Basic Editor」(以下、VBE)が起動する。クリックしたときの処理として、今回は下記のように記述する。

Private Sub 宛名印刷ボタン_Click()
 DoCmd.OpenReport "ラベル 顧客管理テーブル", acViewNormal
End Sub
「宛名印刷」ボタンがクリックされたときの処理
表1「View」の値 内容
acViewDesign デザインビュー
acViewLayout レイアウトビュー
acViewNormal 標準表示
acViewPivotChart ピポットグラフビュー
acViewPivotTable ピポットテーブルビュー
acViewPreview 印刷プレビュー
acViewReport レポートビュー

 ここでは、DoCmd.OpenReportメソッドを使用して、印刷するレポートを開く処理を記述している。「DoCmd.OpenReport "ReportName","View"」という記述で、印刷するレポートの名前を指定し、何を表示できる(表1)。今回は「acViewNormal」を指定したが、「acViewPreview」を指定し、プレビュー表示のためのボタンを別に追加してもよいだろう。なお、Viewの値は省略できる。省略した場合は、デフォルトのacViewNormalが使われる。


「ラベル印刷」機能が完成

 これで「宛名印刷」ボタンの実装は完了だ。ボタンを押すと、今回指定したレイアウト、内容でラベル印刷が実行される(図20)。なお、今回の機能では、即、印刷が始まるので少し注意してほしい)。

photo 図20 ラベルシールの仕上がりイメージ

ワンポイント:Accessの起動と同時に「メニューフォーム」を開くようにする方法

 今回作成した管理メニューは、Accessを起動したら一緒に開くようにしておけば今後の作業が楽になるだろう。Accessメニューの「現在のデータベース」に登録するだけだ。

 Accessメニュー「ファイル」→「オプション」→「現在のデータベース」を選び、「フォームの表示」のドロップダウンメニューで「メニュー」を選択する(図21)。

photo 図21 フォームの表示の項目で「メニュー」を選択する

 これで、Accessの起動と同時に、「メニュー」フォームが表示されるようになる(図22)。

photo 図22 Accessを起動するとメニュー画面が表示される。メニューの切り替えは起動させたフォームのタブから切り替えるといいだろう


次回予告

 今回で、「顧客管理データベース」作成までの基礎はマスターできただろう。あと、自身の業務に必要な内容や機能にカスタマイズして、業務用のアプリに仕上げてほしい。

 次回は、Accessのフォームで使用する、「テキストボックス」「リストボックス」「コンボボックス」「タブコントロール」の使い方と実践に投入できるノウハウを解説する。お楽しみに。

筆者紹介

薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所

薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。

1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。

1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。

2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。

Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。


Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)

Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)

Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)

Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。