Form.Current イベント (Access)

フォーカスがレコードに移動し、そのレコードがカレント レコードになったとき、またはフォームの再表示か再クエリが実行されたときに発生します。

構文

現在の

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

注釈

Current イベントが発生したときに、マクロまたはイベント プロシージャを実行するには、"OnCurrent/レコード移動時" プロパティをマクロ名または "[Event Procedure]"/"[イベント プロシージャ]" に設定します。

このイベントは、フォームが開いたときと、フォーカスがレコード間を移動したときのいずれの場合にも発生します。 Current イベント マクロまたはイベント プロシージャは、最初のレコードまたは移動先のレコードが表示される前に実行されます。

フォームの Current イベントが発生したときにマクロまたはイベント プロシージャを実行すると、メッセージを表示したり、現在のレコードに関連する別のフォームのレコードを同期したりできます。 たとえば、顧客レコードが最新になると、顧客の以前の注文を表示できます。 仕入先レコードが最新になると、仕入先によって製造された製品を 仕入先 フォームに表示できます。 また、現在のレコードに基づいて計算を実行したり、現在のレコード内のデータに応答してフォームを変更したりすることもできます。

マクロまたはイベント プロシージャが、Open イベントに応答して GoToControl または GoToRecord アクション、または DoCmd オブジェクトの対応するメソッドを実行すると、Current イベントが発生します。

Current イベントは、フォームを更新したり、フォームの基になるテーブルまたはクエリを再クエリしたりするときにも発生します。たとえば、[レコード] メニューで [フィルター/並べ替えの削除] を選択したり、Visual Basic コードのマクロで Requery アクションを使用したり、Requery メソッドを使用したりします。

最初にフォームを開くと、次の順序でイベントが発生します。

OpenLoadResizeActivateCurrent

次の例では、 Current イベント プロシージャによって 、Discontinued というオプション ボタンの状態がチェックされます。 ボタンが選択されている場合、この例では ProductName フィールドの背景色を赤に設定して、製品が廃止されたことを示します。

この例を試すには、次のイベント プロシージャを、 Discontinued というオプションと ProductName というテキスト ボックスを含むフォームに追加します。

Private Sub Form_Current() 
 If Me!Discontinued Then 
 Me!ProductName.BackColor = 255 
 EndIf 
End Sub

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

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