hiroton
2024/04/04 (木) 19:26:39
c3230@f966d
何かを参照する場合は、「コードの実行場所」と「コードの実行場所から見た操作したい相手の場所」を常に意識することが大事です。
すべて無視して、ACCESS本体から見た「Forms!~
」という記述も可能ですが、hatenaさん指摘のように、「コードの実行場所自身=>Me
」や、「サブフォームからみた親フォーム=>Me.Parent
」、「親フォームから見たサブフォーム=>Me![サブフォーム名].Form
」等の参照方法を覚えるとコードが簡素に記述できます
また、参照に用いる場合の[]
使い方も覚えましょう。これは、基本的に「名前」を指定するときに用いる記号です。ACCESS本体が持つ機能(キーワード)に使うことはできません
たとえば、「天候」を保存するために用意したフィールド「suitei_tenko
」を指定する場合に、[suitei_tenko]
等記述します。「フォームに読み込んだそれを参照する」なら
Debug.Print Me![suitei_tenko]
のようになります
通常「Me
」とは、コードを実行したオブジェクトを参照するキーワードで何かの名前ではありません。[Me]
と記述した場合、「Me
」と名前を付けた何か(フィールドとか、テキストボックスとか)を参照する記述となります。そのような「何か」が無ければ参照先が見つからないというエラーが発生します
また、[]
は省略可能な記述で、ACCESS上(フォームやレポート等)で記述すると自動で付加されますが、VBAで記述する場合は、なるべく省略したほうがコードがすっきりします
「省略できない場合」もあるので、より深い知識が必要になったら調べてみると良いでしょう
通報 ...