ACCESS VBA Meキーワードの使用方法
ACCESS VBAのイベントプロシージャ上で、現在開いているフォームの特定のコントロールから値を参照するケースは多々あります。
こうした時に便利なMeキーワードの使用方法についてご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。
Meキーワード
Meキーワードは、現在操作しているフォームやレポートなどを表現するキーワードです。
例えば、下記のフォームで、テキストボックスに入力した文字を、メッセージボックスに表示してみます。
テキストボックスの更新後処理イベントで、以下のようにコードを記述しました。
Private Sub テキスト_AfterUpdate()
MsgBox Me!テキスト
End Sub
すると、上記のようにメッセージが表示できます。
ここで、「Me」はイベントプロシージャが設定されているフォーム自体を表しています。
今回のサンプルでは「T_me」という名前のフォームです。
そのため、上記のコードは下記のように書き換えても動作します。
Private Sub テキスト_AfterUpdate()
MsgBox Forms!T_me!テキスト
End Sub
とはいえ、毎回フォーム名を指定するのは面倒ですよね。
そうした時に利用できるのがMeキーワードなのです。
Meキーワードが使えるのはVBAのみ
ACCESSでは、VBA以外にもクエリの抽出条件やフォーム・レポートのコントロースソースに関数を記載することが可能です。
しかし、MeキーワードはVBAでのみ利用可能ですのでご注意ください。
例えば、下記のように上段のテキストボックスの値を下段のテキストボックスにも表示しようと、下段のテキストボックスのコントロールソースに「Me!テキスト」と記載しても動作しません。
フォームのコントロールソースなど、ACCESSオブジェクト内で記述する時は、下記のようにコントロール名を[]で囲って記述しましょう。
以上、Meキーワードの使用方法をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。