フォームを開いた OpenForm メソッドの OpenArgs 引数で指定された文字列式を決定します。 値の取得と設定が可能なバリアント型 (Variant) の値です。
構文
式。OpenArgs
expressionForm オブジェクトを表す変数です。
注釈
このプロパティは、マクロを使用するか、Visual Basic で DoCmd オブジェクトの OpenForm メソッドを使用することによってのみ使用できます。 このプロパティの設定は、すべてのビューで値の取得のみ可能です。
OpenArgs プロパティを使用するには、DoCmd オブジェクトの OpenForm メソッドを使用してフォームを開き、OpenArgs 引数を目的の文字列式に設定します。 OpenArgs プロパティの設定は、Open イベント プロシージャなど、フォームのコードで使用できます。 また、 Open マクロなどのマクロや、フォーム上のコントロールの ControlSource プロパティを設定する式などの式のプロパティ設定を参照することもできます。
たとえば、帳票フォームのクライアント一覧を開くとします。 フォームが開いたときに特定のクライアント レコードにフォーカスを移動する場合は、 OpenArgs プロパティをクライアントの名前に設定し、Open マクロの FindRecord アクションを使用して、指定した名前を持つクライアントのレコードにフォーカスを移動できます。
例
次の例は 、OpenArgs プロパティを使用して、特定の従業員レコードに対して Employees フォームを開き、 OpenForm メソッドが OpenArgs プロパティを設定する方法を示しています。 この手順は、必要に応じて実行できます。たとえば、従業員に関する新しい情報を入力するために使用されるカスタム ダイアログ ボックスで AfterUpdate イベントが発生した場合などです。
Sub OpenToCallahan()
DoCmd.OpenForm "Employees", acNormal, , , acReadOnly, _
, "Callahan"
End Sub
Sub Form_Open(Cancel As Integer)
Dim strEmployeeName As String
' If OpenArgs property contains employee name, find
' corresponding employee record and display it on form. For
' example,if the OpenArgs property contains "Callahan",
' move to first "Callahan" record.
strEmployeeName = Forms!Employees.OpenArgs
If Len(strEmployeeName) > 0 Then
DoCmd.GoToControl "LastName"
DoCmd.FindRecord strEmployeeName, , True, , True, , True
End If
End Sub
次の例は、OpenArgs プロパティを使用して、ナビゲーション ウィンドウからフォームが開かれないようにする方法を示します。
Private Sub Form_Open(Cancel As Integer)
If Me.OpenArgs() <> "Valid User" Then
MsgBox "You are not authorized to use this form!", _
vbExclamation + vbOKOnly, "Invalid Access"
Cancel = True
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。