Form.OpenArgs 属性 (Access)

确定打开窗体的 OpenForm 方法的 OpenArgs 参数指定的字符串表达式。 读/写 Variant

语法

表达式OpenArgs

expression:表示 Form 对象的变量。

备注

此属性只能通过使用宏或 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。