Form. Current イベント (Access)Form.Current event (Access)

フォーカスがレコードに移動し、そのレコードがカレント レコードになったとき、またはフォームの再表示か再クエリが実行されたときに発生します。Occurs when the focus moves to a record, making it the current record, or when the form is refreshed or requeried.

構文Syntax

現在expression.Current

Form オブジェクトを表す変数を取得します。expression A variable that represents a Form object.

備考Remarks

Current イベントが発生したときに、マクロまたはイベント プロシージャを実行するには、"OnCurrent/レコード移動時" プロパティをマクロ名または "[Event Procedure]"/"[イベント プロシージャ]" に設定します。To run a macro or event procedure when this event occurs, set the OnCurrent property to the name of the macro or to [Event Procedure].

このイベントは、フォームが開いたときと、フォーカスがレコード間を移動したときのいずれの場合にも発生します。This event occurs both when a form is opened and whenever the focus leaves one record and moves to another. Current イベント マクロまたはイベント プロシージャは、最初のレコードまたは移動先のレコードが表示される前に実行されます。Microsoft Access runs the Current macro or event procedure before the first or next record is displayed.

フォームのcurrentイベントが発生したときにマクロまたはイベントプロシージャを実行すると、メッセージを表示したり、カレントレコードに関連する別のフォームでレコードを同期したりすることができます。By running a macro or event procedure when a form's Current event occurs, you can display a message or synchronize records in another form related to the current record. たとえば、顧客レコードが現在のレコードになったときに、顧客の前の注文を表示することができます。For example, when a customer record becomes current, you can display the customer's previous order. 仕入先レコードがカレントになると、サプライヤーが製造した製品を [仕入先] フォームに表示できるようになります。When a supplier record becomes current, you can display the products manufactured by the supplier in a Suppliers form. カレントレコードに基づいて計算を実行したり、カレントレコードのデータに応じてフォームを変更したりすることもできます。You can also perform calculations based on the current record or change the form in response to data in the current record.

Openイベントに応答して、マクロまたはイベントプロシージャで "GoToControl/レコードの作成" または "GoToRecord/レコードの返信" アクションまたはDoCmdオブジェクトの対応するメソッドを実行すると、 Currentイベントが発生します。If your macro or event procedure runs a GoToControl or GoToRecord action or the corresponding method of the DoCmd object in response to an Open event, the Current event occurs.

カレントイベントは、フォームを更新したときや、フォームの基になるテーブルまたはクエリを再実行したときにも発生します。たとえば、[レコード] メニューの [フィルター/並べ替えの解除] をクリックするか、またはマクロまたはrequeryメソッドを使用します。Visual Basic コードThe Current event also occurs when you refresh a form or requery the form's underlying table or query—for example, when you choose Remove Filter/Sort on the Records menu or use the Requery action in a macro or the Requery method in Visual Basic code.

最初にフォームを開くと、次の順序でイベントが発生します。When you first open a form, the following events occur in this order:

OpenLoadResizeActivateCurrentOpenLoadResizeActivateCurrent

Example

次の例では、 Currentイベントプロシージャは、"生産中止" という名前のオプションボタンの状態をチェックします。In the following example, a Current event procedure checks the status of an option button called Discontinued. このボタンが選択されている場合、[商品] フィールドの背景色を赤に設定して、製品が廃止されたことを示します。If the button is selected, the example sets the background color of the ProductName field to red to indicate that the product has been discontinued.

次の使用例の実行結果を確認するには、[生産中止] オプションと [商品名] テキストボックスを含むフォームに、次のイベントプロシージャを追加します。To try the example, add the following event procedure to a form that contains an option called Discontinued and a text box called ProductName.

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

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.