适用于

Form 对象

Report 对象

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

表达式.OpenArgs

表达式 必需。 返回“适用范围”列表中的对象之一的表达式。

备注

此属性仅在使用宏时,或在 Visual Basic for Applications (VBA) 代码中使用 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 SubSub 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 IfEnd Sub

下一示例使用 FindFirst 方法来查找 OpenArgs 属性中指定的员工。

Private Sub Form_Open(Cancel As Integer)    If Not IsNull(Me.OpenArgs) Then        Dim strEmployeeName As String        strEmployeeName = Me.OpenArgs        Dim RS As DAO.Recordset        Set RS = Me.RecordsetClone        RS.FindFirst "LastName = '" & _            strEmployeeName & "'"        If Not RS.NoMatch Then            Me.Bookmark = RS.Bookmark        End If    End IfEnd Sub

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。