企業研修講師派遣のBESTグループ
出張パソコン教室ITスクール
webコンサルティングスクール
パソコンの家庭教師BEST

Home Access(アクセス) マクロを使ってのプログラミング|アクセス2007・VBA

Q:アクセス2007VBAの命令に関するプログラミングについて教えてください。

フォームをメニューから呼び出したり、閉じたりボタンをクリックした時に、何をさせるかという命令をマクロを使って記述していきます。

仮定として、以下をを使ってみます。
クエリー:「qu区分削除」
フォーム:「fo区分」「fo区分削除選択」
マクロ:「ma区分」

まず、マクロの「ma区分」のデザインを見てください

マクロ名と条件の列がない場合は、上のメニューの「デザイン」の、マクロ名と条件をクリックしてください。
マクロは、多くの場合フォームから呼び出して実行します。
たとえば、「ma区分.削除選択を開く」というマクロを呼び出すと、アクションの所にかかれている、処理を上から順番に実行していきます。
一連の処理をいくつでも処理させることができます。

マクロには、たくさんの処理があります。今ここで全てを説明できませんし、全てを覚える必要もありません、サンプルプログラムでの使い方を真似して、コピーして使っているうちに慣れてきますし、サンプルで使っていないものも使えるようになるでしょう。

次に、フォーム「fo区分」のデザインを見てください

フォームの下にウィンドが1つありますが、フォームで使ういろんなコントロールの設定をするためのプロパティなので、常に開いておきます。
開いていない場合は、上のメニューから「デザイン」-「ツール」-「プロパティ」で開いてください。

フォーム全体の設定をします。
終了ボタンの1センチ右のあたり(何もない所)をクリックします。
すると、プロパティのウィンドの表題がフォームになります。フォーム全体の設定ができます。
ここで、見るべき項目は次のものです。
[レコードソース]:入力したいテーブル(あるいはクエリー)の名前をコンボボックスから選択
[表題]:ウインドの左上に出る、フォームの表題
後の項目は、変更する必要は無いでしょう。

ここで大事なことは、帳票フォームを新しく作るときは、以前作ってある帳票フォームをコピーして[レコードソース]と[表題]を変更して作るということです。
新規でフォームを作成すると、もっとたくさんの項目を設定していかなければいけません。
[レコードソース]と[表題]を変更した後、入力項目のコントロールソースを変更するだけで、簡単に帳票フォームは新しく作ることができます。

プロパティの下の方に、○○時というのがたくさん並んでいます。
これは、このフォームで起こるイベント(マウスがクリックされる、閉じる、開く等・・・)の項目が並んでいます。これらの項目発生時にどう処理するかということを指定することによって、プログラムが構築されていきます。
全てのコントロール(フォーム、フォームの中の入力コントロール、ボタン等)に内容は少しずつ違いますが各種イベントがあります。
その内容、使い方に関してはサンプルを見ていただければ、だいたい解ると思います。
全てを最初に理解する必要はありませんし、ほとんど使わないようなものもあります。

それでは、フォームに貼ってある、コントロールを見てみましょう。

・ラベルコントロール
フォームヘッダーにある、区分名のところをクリックしてみてください。
プロパティのウィンドの表題がラベルになっています。ラベルのコントロールです。
これは、入力項目が何であるかを教えるための文字を表示するためのコントロールです。
フォームに中に文字を表示するためのものと考えて下さい。
このコントロールのプロパティの見るべき項目は、次のものです。
[標題]:表示したい文字です。
[名前]はAccessが自動で付けてくれますので、そのままでいいです。
他に、色の設定等がありますが、これはプログラムを作る人の好みですので、気に入ったものをいくつか作っておいて、コピー貼り付けで使えば修正する必要はありません。

・テキストボックスコントロール
詳細にある、区分名のところをクリックしてみてください。
プロパティのウィンドの表題がテキストボックスなっています。データが入力され、実際にデータが表示されるコントロールです。
一番よく使われるコントロールです。
このコントロールのプロパティの見るべき項目は、次のものです。
[名前]:コントロールソースと同じにしておいてください。
[コントロールソース]:コンボボックスから選びます
[書式]:ここは、日付、数値などによって様々なものが入ります。サンプルを参照してください。後でたくさん出てきますので、後で確認できます。文字列の場合は特に入力する必要はありません。
[定型入力]:日付の入力の時などに使います。
[規定値]:ここで指定しておくと、入力前から指定したものが入っています。たとえば生年月日の和暦を入力する欄などでは、昭和を規定値にしておくと実際昭和の人が多いですから、コンボボックスから選ばなくても、そのまま通過できて、入力が早くできるといったものです。
[IME入力モード保持]:いいえにいておきましょう
[IME入力モード]:漢字で入力する場合は、ひらがなにしておきます。オンは使わないでください。データベースをバージョンアップした時に、半角カナとかに変わってしまう場合があります。数値入力の場所は、使用不可にしておきます。オフと使用不可の違いは、オフの場合はキーボードから漢字のボタンを押すと漢字が入力出来てしまいますが、使用不可の場合は漢字ボタンに反応しませんので、漢字入力は不可能です。
[ふりがな]:名前を入力したときに、ふりがなの項目に自動でフリガナを転記してくれます。後の説明で出てきます。
[住所入力支援]:郵便番号を入力すると自動で住所が転記されます。次回の住所録のバージョンで追加予定です。
[可視]:ここをいいえにしておくと、デザイン画面でしか見えません。集計用の日付のコントロールで使っています。後の説明で出てきます。
[使用可能]:いいえにすると、見えるけれど、マウスでクリックしても止まらない項目になります。
[編集ロック]:はいにすると、マウスでクリックすると止まりますが編集はできない項目になります。
[タブストップ]:いいえにするとタブキーで移動していっても、止まりません。フォームの詳細の中のボタン(通常の入力では使わないけど、何かを検索するときだけ押されるボタン等)を貼ってある場合等では便利です。マウスでクリックすれば使えます。

他に、色の設定等がありますが、ラベルコントロールと同じで、プログラムを作る人の好みですので、気に入ったものをいくつか作っておいて、コピー貼り付けで使えば修正する必要はありません。

ここにも、イベント発生時の処理を指定する項目があります。
後の説明で出てきます。

・コマンドボタンコントロール
詳細にある、削除のボタンをクリックしてみてください。
プロパティのウィンドの表題がコマンドボタンなっています。
ここでは必要なときだけ、マウスでクリックしてもらいます。したがって、[タブストップ]はいいえになっています。
このコントロールのプロパティの見るべき項目は、次のものです。
[名前][標題]:同じにしておきましょう。(見栄えをよくするために標題の方にスペースを入れたりする場合有り)
フォームフッターの、終了ボタンをクリックしてみてください。
標題に&Xと付いています。これは、Altキーを押したまま、Xのキーボードを押すと、マウスを移動してそこをクリックしなくても、このボタンがクリックされたのと同じ結果になる、いわゆるショートカットキーの設定です。マウスを使わなくても通常の登録がどんどんできるようにするためのものです。

これは、ボタンですので、クリックされたときに、必ず何か処理があるはずです。
削除ボタンの場合、クリック時にマクロの削除確認のフォームを開くように指定してあります。
終了ボタンでは、自分自身のフォームを閉じるマクロが指定されています。
イベントの発生と処理の書き方が、おわかりいただけたでしょうか?

メインメニューで区分登録のボタンがクリックされた時のクリック時に、このフォームを開くマクロが指定されています。
そこで、このフォームが開きます。
データを入力したり、編集したりします。
終了ボタンがクリックされると、このフォームが閉じられて、下にあるメインメニューに戻るといった具合です。
 

ご質問や感想は上記からコメントをお願い致します