OpenArgs 属性

适用对象

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 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

下一示例使用 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 If
End Sub
扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×