• ベストアンサー

アクセスのMeについて

アクセスの本の中で,Meが出てきました。 問題は,フォームに得点と結果のテキストボックスを作成します。そして,テキストボックスに得点を入力します。コマンドボタンに次のイベントで,得点が合格か不合格かを判定し,結果のテキストボックスに出力するものです。フォームにMeを入力していないのですが,VBAで突然現れてきました。このMeは,どんなときに使うのでしょうか。教えていただければ幸いです。 Private Sub 実行_Click() If Me.得点 >= 100 Then Me.結果 = "合格" Else Me.結果 = "不合格" End If End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

VBAのフォームでMeを使う場合は、プログラムが書かれたフォーム(自分自身)を指します。 ですから「Me」なのです。 UnLoad Me と書くと、実行中のフォーム(自分)を閉じます。 >Me.結果 とは、UserForm.結果 の意味になります。 UserForm=フォーム名

その他の回答 (1)

  • snoopy64
  • ベストアンサー率42% (337/793)
回答No.2

え~と、すでに#1さんが完璧な回答を出されていますが、今後の参考のために蛇足させてください。 例えば、「If Me.得点 >= 100 Then」のMeがなかったら「If 得点 >= 100 Then」ですが、書いた人はフォームの「得点」テキストボックスのつもりでしょうが、プログラムからは「得点」という名前の変数を参照することになります。 「Me.得点」についても、正式には「Me.得点.Value」と書くところですが、テキストボックスでは「.value」が規定値になっていて省略可能なだけです。「Meの中の.得点テキストボックスの.値」というわけです。 ついでに、「Me.得点.Setfocus」では得点テキストボックスにカーソルが移動します。 このように、「得点」の中には、「値」とか「ここに移動」とか、他にも「見えないようにする」とか、、、たくさんの事柄がついてきます。 地上にMeなら、得点や結果は地下1階、ValueやSetfocusやVisibleは地下2階、、、というふうに階層構造になっているとイメージしてください。 頑張ってくださいヽ(^。^)ノ