MSAccess-マクロ
この章では、Accessのマクロの基本について説明します。マクロは、タスクを自動化し、フォーム、レポート、およびコントロールに機能を追加できるようにするツールです。
Accessのマクロは、基本的に一連のキーストロークを記録して後で再生するWordやExcelのマクロとは少し異なります。
Accessマクロは、事前定義された一連のアクションから構築されているため、一般的なタスクを自動化し、コントロールまたはオブジェクトに機能を追加できます。
マクロは、ナビゲーションペインから表示できるスタンドアロンオブジェクトにすることも、フォームまたはレポートに直接埋め込むこともできます。テーブル、フォーム、レポートなどのデータベースオブジェクトを作成すると、マクロを使用すると、これらすべてのオブジェクトをすばやく簡単に結び付けて、比較的少ないトレーニングで誰でも使用または変更できるシンプルなデータベースアプリケーションを作成できます。
マクロは、VBAコードを記述したり、知ったりすることなくコマンドを実行する方法を提供します。マクロだけで達成できることはたくさんあります。
マクロの作成
コマンドボタンがクリックされたときにフォームを開く非常に単純なマクロの作成から始めましょう。このために、2つのタブを作成したデータベースとfrmEmployeeDataフォームを開く必要があります。
このフォームでは、ユーザーがすべての求人情報を開くことができるボタンを追加できます。
次に、このフォームのデザインビューに移動し、[コントロール]メニューからボタンを追加します。マウスを離すと、[コマンドボタンウィザード]ダイアログボックスが表示されます。
そのマクロアクションを作成する方法はいくつかありますが、最も簡単な方法は、コマンドボタンウィザードを使用することです。
フォームを開くなどの一般的なアクションの場合は、[カテゴリ]リストから[フォーム操作]を選択し、[アクション]リストから[フォームを開く]を選択して、上のスクリーンショットのように[次へ]をクリックします。
コマンドボタンで開きたいフォームを指定する必要があります。今のところ、選択しましょうfrmJobs をクリックします Next。
この画面には2つのオプションがあります。 open the form and display a very specific record、またはできます open the form and show all the records。2番目のオプションを選択し、上のスクリーンショットのように[次へ]をクリックします。
コマンドボタン自体に画像を表示させることも、[テキストの表示]を選択することもできます。ここでは、「ジョブの表示」というテキストを表示して、「次へ」をクリックします。
これで、上のスクリーンショットのように、コマンドボタンに意味のある名前を付けることができます。これは、他のコードまたは他のマクロで使用できます。これを呼ぼうcmdViewJobs をクリックします Finish。
次に、フォームビューに移動します。
フォームに[ジョブの表示]ボタンが表示されます。それをクリックしましょう。
これでフォームが開きましたが、情報は表示されません。frmEmployeeDataフォームのデザインビューに戻りましょう。コマンドボタンが選択されていることを確認し、プロパティシートの[イベント]タブをクリックします。
クリックすると、ウィザードによって作成された埋め込みマクロが表示されます。このマクロを変更する場合は、[…]ボタンをクリックして、ウィザードによって生成されたマクロを開きます。
これはマクロデザイナであり、右側にアクションカタログが表示されます。これは、すべてのアクションがフォルダーに存在する場所です。データ入力オプション、データのインポート/エクスポートなどがあり、メインエリアの左側に別のマクロがあります。これには1つのアクションのみが含まれ、その1つのアクションをクリックすると、その特定のアクションの他のプロパティを表示できます。
フォーム名が表示され、そのドロップダウン矢印を押して、データベースで使用可能なフォームを表示できます。そのフォームの表示方法を変更したり、フォームビュー、デザインビュー、印刷プレビューを自由に開いたりすることができます。フィルタ名またはWhere条件を適用できます。ここでは、frmJobsが新しいレコードの追加のみを許可する追加モードに設定されているため、データモードを変更します。編集モードに変更することで、このマクロでこれをオーバーライドできます。
ここでマクロを保存し、マクロデザイナを閉じてフォームビューに戻ります。
もう一度[ジョブの表示]をクリックしてみましょう。
これで、frmJobsフォームが開き、データベースで使用可能なすべてのジョブをスクロールできることがわかります。