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