フォーカスがレコードに移動し、そのレコードがカレント レコードになったとき、またはフォームの再表示か再クエリが実行されたときに発生します。
構文
式。現在
expressionForm オブジェクトを表す変数です。
注釈
Current イベントが発生したときに、マクロまたはイベント プロシージャを実行するには、"OnCurrent/レコード移動時" プロパティをマクロ名または "[Event Procedure]"/"[イベント プロシージャ]" に設定します。
このイベントは、フォームが開いたときと、フォーカスがレコード間を移動したときのいずれの場合にも発生します。 Current イベント マクロまたはイベント プロシージャは、最初のレコードまたは移動先のレコードが表示される前に実行されます。
フォームの 現在の イベントが発生したときにマクロまたはイベント プロシージャを実行することで、現在のレコードに関連する別のフォームでメッセージを表示したり、レコードを同期したりできます。 たとえば、顧客レコードが最新になると、顧客の以前の注文を表示できます。 仕入先レコードが最新になると、仕入先によって製造された製品を "仕入先" フォームに表示できます。 また、現在のレコードに基づいて計算を実行したり、現在のレコードのデータに応じてフォームを変更したりすることもできます。
マクロまたはイベント プロシージャが Open イベントに応答して GoToControl アクションや GoToRecord アクション、または DoCmd オブジェクトの対応するメソッドを実行すると、Current イベントが発生します。
Current イベントは、フォームを更新するときや、フォームの基になるテーブルやクエリを再クエリするときも発生します。たとえば、[レコード] メニューの [フィルターの削除/並べ替え] を選択したり、マクロや Visual Basic コードで [再クエリ] アクションを使用したりした場合などです。
最初にフォームを開くと、次の順序でイベントが発生します。
Open → Load → Resize → Activate → Current
例
次の例では、[ 現在のイベント] プロシージャで [ Discontinued] というオプション ボタンの状態をチェックしています。 ボタンが選択されている場合、この例では [ 製品名 ] フィールドの背景色が赤に設定され、製品が製造中止になったことを示します。
この例を試す場合は、[ Discontinue ] というオプションと [製品名] というテキスト ボックスを含むフォームに、次のイベント プロシージャを追加します。
Private Sub Form_Current()
If Me!Discontinued Then
Me!ProductName.BackColor = 255
EndIf
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。