マクロは非常に簡単な操作により自動で処理を作成することが できます。
確かにマクロは便利ですが、手直ししなければならないことが多く
マクロだけでは無理な場合があります。
簡単なプログラムであれば、マクロでもできます。
でも、細かい処理はVBAを使わないと作れません。
マクロとVBAの違いとは
1.マクロ
「フォームを開く」「テーブルを開く」など処理したい項目を
選択するだけで一通りの処理が作れます。
しかし、きめ細かい制御ができません。
2.VBA
ソースコードを記述することにより処理を作成します。
でも、命令の記述を間違うと思わぬ動作をします。
細かい制御ができます。
基本的な処理をマクロはしてくれます。
マクロを実行するとVBAに展開してくれます。
それを参考にしてプログラムの作成に役立てることができるのです。
はじめのころはよく参考にしたものです。
では、具体的に説明します。
1.マクロをVBAに変換する。
1−1.オブジェクトのマクロをクリックします。
1−2.新規作成をクリックします。
1−3.アクションのコンボボックスから「終了」を選択します。
1−4.右上「×」(閉じる)をクリックします。
1−5.「’マクロ1’マクロの変更を保存しますか?」が表示されます。
「はい」をクリックします。
1−6.名前を付けて保存の画面がでます。
マクロ名には「マクロ1」になっています。
「OK」をクリックします。
1−7.マクロ1が作成されました。
1−8.マクロ1をクリックしてメニューの
「ツール」 → 「マクロ」 → 「マクロをVisual
Basicに変換」をクリックします。
1−9.「マクロの変換:マクロ1」の画面が表示されます。
「エラー処理コードを追加する」、「コメントを含める」
にチェックが入っています。
そのままの状態にして「変換」をクリックします。
1−10.「マクロをVisual Basicに変換」の画面が表示されます。
「OK」をクリックします。
1−11.Visual Basicを起動させます。
「ツール」 → 「マクロ」 → 「Visual Basic
Editor」をクリックします。
画面左側のプロジェクトの「標準モジュール」の中に
「変換するマクロ:マクロ1」ができています。
それをダブルクリックしてみます。
1−12.下記のようにマクロ1がVisual Basicとして展開されています。
'■ マクロ1
'
Function マクロ1()
On Error GoTo マクロ1_Err
DoCmd.Quit acSave
マクロ1_Exit:
Exit Function
マクロ1_Err:
MsgBox Error$
Resume マクロ1_Exit
End Function
1−13.このようにしてVBAとして作成してくれますので参考に
なるのです。
ちなみに、マクロで作成したマクロ1をダブルクリックするとAccessが
終了します。
*「標準モジュール」の中に「変換するマクロ:マクロ1」を削除する
には、「変換するマクロ:マクロ1」を右クリックして
「変換するマクロ:マクロ1の解放」をクリックすればなくなります。
2.マクロが出来る処理を簡単ですが記述します。
2−1.フォーム、レポートの操作
・テーブルを開く...テーブルを開きます。
・フォームを開く...指定したフォームを指定したビューで
開きます。
・クエリーを開く...クエリーを開きます。
・レポートを開く...レポートを開きます、プレビュー、
印刷ができます。
・閉じる.......開いているオブジェクトを閉じます。
2−2.レコードの操作
・レコードの移動...フォーム、レポート上で表示されている
レコードが移動します。
・レコードの検索...指定した条件のレコードを検索します。
・全レコードの表示..テーブル、フォームなどに設定した
フィルタを解除して全てのレコードを
表示します。
・次の検索......次に一致するレコードを探します。
・再クエリ......レコードの変更をデータベースに
反映して最新の状態にします。
2−3.画面表示
・エコー........マクロ実行中の画面の表示を行うかを
指定します。
・メッセージ......自動的に表示するメッセージを表示
するかを指定します。
・メッセージボックス..ユーザーにメッセージを表示させます。
・警告音........設定されている警告音を鳴らします。
・砂時計ポインタ....マウスポインタを砂時計の表示に
変更します。
2−4.ウィンドウの操作
・最大化........アクティブなウィンドウを
最大化します。
・最小化........アクティブなウィンドウを
最小化します。
・コントロールの移動..アクティブなフォーム上のコントロール
にフォーカスを移動させます。
・元のサイズに戻す...最小化、最大化されたウィンドウを
元の状態にもどします。
・サイズ変更......アクティブなウィンドウの表示の
位置とサイズを変更します。
2−5.システムの制御
・値の代入.......フォーム、レポートに貼り付けた
コントロールのプロパティに
値を代入します。
・マクロの実行.....他のマクロを実行します。
・マクロの中止.....実行中のマクロを中止させます。
・プロシージャの実行..VBAで作成したFunctionプロシージャ
を実行します。
・終了.........Accessを終了します。
マクロはこんなことが出来るくらいの知識でよいと思います。
マクロでもある程度のプログラムはできます。
しかし、本格的なシステムを作成するのであれば、VBAを避けて通れません。
VBAが習得できていれば、マクロを使う必要性がなくなるのです。
第1コースが終了しました、どうでしたか?
システムを作成する上で参考になったでしょうか。
第2コースも実践的な情報をご提供します。
ご意見、ご感想があればメールでお寄せください。
これからのメルマガの参考とさせて頂きます。
第2コースの発行日は今のところ決めていませんが、
近日中に開始する予定にしています。
===================================================================
◆
実践テクニック、Accessで作るクラサバシステム ◆
Accessで処理の仕掛を学ぶなら、クラサバシステムの方がよいです。
編集・構成:高橋浩
提供・発行:ティウェア
http://www.1tware.com/index.html
Access2000+MSDE2000、Access2002+MSDE2000、Access2003+MSDE2000で
作る販売管理ソフト、クライアントサーバーシステムを構築
※当メールマガジンに掲載された記事を許可なく転載することを禁じます。
===================================================================
実践テクニック、Accessで作るクラサバシステム(隔週 火曜日発行中)
SEが10年以上の開発ノウハウを惜しみなく完全公開!
|