Me.[商品名]とMe.商品名の違いは?Me.とMe!の違いは?

MSACCESS_eyecatch
SBMJOB

どの言語つかっててもそうなんですが、ちょっとした決まりごとって一度調べておかないとわからないですよね。Access VBAの決まりごと[ ]の付け方やドットとエクスクラメーションの使い方についてご紹介します。

目次

スポンサーリンク

Me.[商品名]とMe.商品名の違い

テキストボックスやフィールドなどのコントロールをVBAで指定する時にはme.〜と指定しますが[ ]を付けたり付けなかったりしますよね。その使い方のちがいは以下様になりますが、意味合いとしては同じです。

[ ]はつける方が無難

Me.[ 〜 ]という表現が好ましい。

Me.商品名 のように日本語のみのコントロール名の場合は[ ]を付けなくても大丈夫。
Me.[商品名2] や Me.[商品Product]のように日本語と英数字が混ざった場合は[ ]が必要。

Me.とMe[form]!の違いは?

違い

ドットとエクスクラメーションの使い分け

「Me.」は「Meのプロパティとして構成しているラベルコントロールのプロパティであるCaption」
「Me!」は「Meという名のFormの中にあるラベルコントロールのプロパティであるCaption」

少し分かりにくいですが!を使うとフォームの中に設置したコントロール(部品)の名前を選択するウィンドウが出てくるという違いです。もちろんドットだと自分自身のプロパティーを選択する画面が表示されるということになります。

具体例

上記の例だと、!なのでフォームのコントロール名をリストに表示させて選択が可能となっています。
実際のコーディングではこちらを使う頻度が高いですよね。

上記の例だと、サブフォームメイン側というフォーム自体のプロパティーがリストとして表示され選択が可能となっています。

標準モジュールから指定する場合

標準モジュールからだとこんな感じで他のフォームの値をセットできるよ。
Forms!パブリックテスト!txtここへセット.Value = “2”
Forms!パブリックテスト!txtここへセット = “111112”

Forms! フォーム名!コントロール名 のようにForms!を先頭につければOKです。

参考サイト

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

システム開発SE・アプリ開発・デバッガー等々なんでもやる猫の下僕です。現在は凶暴猫にカタカタ動く手を狙われながらキーボードを打っています。かなりゆるい性格なのでコメントやメッセージお気軽に〜お仕事のご依頼もお気軽にぃ〜

スポンサーリンク

コメント

コメントする

CAPTCHA


目次