Microsoft Access 掲示板

1つのコンボボックスから、複数のテキストボックスに同時入力したい / 9

9 コメント
views
4 フォロー
9
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で記述する場合は、なるべく省略したほうがコードがすっきりします
「省略できない場合」もあるので、より深い知識が必要になったら調べてみると良いでしょう

通報 ...