OpenArgs 屬性

Applies To
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

適用對象

Form 物件
Report 物件

決定開啟表單之 OpenForm 方法的 OpenArgs 引數所指定的字串運算式。 讀/寫變數

expression.OpenArgs

運算式 必填項目。 傳回 [套用至] 清單中其中一個物件的運算式。

備註

只有使用巨集或是使用 Visual Basic for Applications (VBA) 程式碼搭配 DoCmd 物件的 OpenForm 方法,才能使用此屬性。 此屬性設定在所有檢視中都是唯讀的。

若要使用 OpenArgs 屬性,請使用 DoCmd 物件的 OpenForm 方法開啟表單,並將 OpenArgs 引數設定為所需的字串運算式。 OpenArgs 屬性設定接著可用於表單的程式碼,例如在開啟事件程序中。 您也可以參考巨集中的屬性設定,例如 Open 巨集,或運算式,例如為表單上的控制項設定 ControlSource 屬性的運算式。

例如,假設您開啟的表單是用戶端的連續表單清單。 如果您想要在表單開啟時將焦點移至特定用戶端記錄,您可以將 OpenArgs 屬性設定為用戶端的名稱,然後使用 Open 巨集中的 FindRecord 動作,將焦點移至具有指定名稱之用戶端的記錄。

範例

下列範例使用 OpenArgs 屬性,將員工表單開啟到特定的員工記錄,然後示範 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