SubForm.SetFocus メソッド (Access)
SetFocus メソッドは、フォーカスを、指定したフォーム、アクティブ フォームの指定したコントロール、またはアクティブ データシートの指定したフィールドに移動します。
構文
式。Setfocus
式SubForm オブジェクトを表す変数。
戻り値
なし
解説
すべてのユーザー入力がこのオブジェクトに送信されるように、特定のフィールドまたはコントロールにフォーカスを設定する場合は 、SetFocus メソッドを使用します。
コントロールのプロパティの一部を読み取るために、コントロールにフォーカスがあることを確認する必要があります。 たとえば、テキスト ボックスの Text プロパティを参照するには、テキスト ボックスにフォーカスを移動する必要があります。
また、コントロールがフォーカスを持っていると、そのプロパティを設定できない場合もあります。 たとえば、コントロールがフォーカスを持っている場合、そのコントロールの " Visible /可視" や " Enabled /使用可能" プロパティに False (0) を設定することはできません。
SetFocus メソッドを使うと、移動条件を設定してフォーム内を移動することができます。 たとえば、"質問表" フォームの質問の最初で [ Not applicable /該当しません] を選択すると、それに関連する質問をスキップし、次の質問のコントロールにフォーカスを移動することができます。
フォーカスは、表示されているコントロールやフォームにのみ移動できます。 フォームやフォーム上のコントロールは、フォームの Load イベントが終わるまでは表示されません。 したがって、フォームの Load イベントで SetFocus メソッドを使用する場合、 Repaint メソッドを SetFocus メソッドの前に使う必要があります。
Enabled プロパティを False に設定しているコントロールにはフォーカスを移動できません。 フォーカスをそのコントロールに移動するには、コントロールの Enabled プロパティを True (1) に設定する必要があります。 コントロールの " Locked /編集ロック" プロパティに True が設定されている場合は、そのコントロールにフォーカスを移動できます。
フォームが " Enabled /使用可能" プロパティに True が設定されているコントロールを含む場合は、そのフォーム自体にフォーカスを移動することはできません。 この場合、フォーカスはフォーム上のコントロールにしか移動できません。 このようなフォームに SetFocus メソッドでフォーカスを移動すると、フォームのコントロールのうちで、最後にフォーカスを持っていたコントロールにフォーカスが移動します。
SetFocus メソッドを使用して、コントロールの一種であるサブフォームにフォーカスを移動します。 また、サブフォーム上のコントロールにフォーカスを移動するには、SetFocus メソッドを 2 回使用して、最初にサブフォーム自身にフォーカスを移動し、次にサブフォーム上のコントロールにフォーカスを移動します。
例
次の例では、SetFocus メソッドを使用して、Employees フォームの EmployeeID テキスト ボックスにフォーカスを移動します。
Forms!Employees!EmployeeID.SetFocus
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。