TextBox.Change イベント (Access)

Change イベントは、指定したコントロールの内容が変更されたときに発生します。

構文

変更

TextBox オブジェクトを表す変数。

注釈

たとえば、テキスト ボックスやコンボ ボックスに文字を直接入力したときや、マクロまたは Visual Basic を使ってテキスト ボックスやコンボ ボックスの Text プロパティの設定値を変更したときに発生します。

注:

マクロや Visual Basic でコントロールの値を設定しても、コントロールに対するこのイベントは発生しません。 コントロールに直接データを入力するか、コントロールの Text プロパティを設定する必要があります。

このイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 OnChange プロパティをマクロの名前または [イベント プロシージャ] に設定します。

Change イベントが発生したときにマクロまたはイベント プロシージャを実行すると、コントロール間でデータ表示を調整できます。 1 つのコントロールにデータまたは数式を表示し、結果を別のコントロールに表示することもできます。

Change イベントは、計算されたコントロールで値が変更されたときに発生しません。

Change イベントは、連鎖イベントを引き起こす可能性があります。 これは、コントロールの Change イベントに応答して実行されるマクロまたはイベント プロシージャによってコントロールの内容が変更された場合に発生します。たとえば、テキスト ボックスの Text プロパティなど、コントロールの値を決定するプロパティ設定を変更します。 連鎖イベントが発生しないようにするには、次のことに注意してください。

  • コントロール自体の内容を変更する Change イベント マクロや Change イベント プロシージャをコントロールに割り当てないでください。
  • 相互に影響を与える Change イベントを持つ 2 つ以上のコントロールを作成しないでください。たとえば、相互に更新される 2 つのテキスト ボックスなどです。

キーボードを使用してテキスト ボックスまたはコンボ ボックス内のデータを変更すると、 Change イベントなどのコントロール イベントに加えてキーボード イベントが発生します。 たとえば、新しいレコードに移動し、レコードのテキスト ボックスに ANSI 文字を入力すると、次の順序でイベントが発生します。

KeyDownKeyPressBeforeInsertChangeKeyUp

テキスト ボックスまたはコンボ ボックス コントロールの BeforeUpdate イベントと AfterUpdate イベントは、コントロールに新しいデータまたは変更されたデータを入力し、別のコントロール (または [レコード] メニューの [レコードの保存] をクリック) に移動した後、したがってコントロールのすべての Change イベントの後に発生します。

" LimitToList /入力チェック" プロパティに [Yes/はい] が設定されているコンボ ボックスの場合は、一覧にない値を入力した後で他のコントロールに移動 (またはレコードを保存) しようとすると、 NotInList イベントが発生します。 これは、コンボ ボックスのすべての 変更 イベントの後に発生します。 この場合、Microsoft Access はリストにない値を受け入れないので、コンボ ボックスの BeforeUpdate イベントと AfterUpdate イベントは発生しません。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。