OpenArgs 屬性

此頁沒有內(nèi)容條目
內(nèi)容

expandtri全部顯示

確定由打開窗體的 OpenForm 方法的 OpenArgs 參數(shù)所指定的字符串表達(dá)式。Variant 型,可讀寫。

expression.OpenArgs

expression     必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。

說明

該屬性僅在使用時或在 Visual Basic 中使用 DoCmd 對象的 OpenForm 方法時才可用。該屬性設(shè)置在所有視圖中均具有只讀屬性。

若要使用 OpenArgs 屬性,請使用 DoCmd 對象的 OpenForm 方法打開窗體,然后將 OpenArgs 參數(shù)設(shè)為所需的字符串表達(dá)式。OpenArgs 屬性設(shè)置可以用于窗體的代碼,例如 Open 事件過程中。也可以在宏中引用該屬性設(shè)置,例如 Open 宏;或者在表達(dá)式中引用該屬性設(shè)置,例如設(shè)置窗體中控件ControlSource 屬性的表達(dá)式。

例如,假設(shè)打開的窗體是客戶的連續(xù)窗體列表。如果希望在窗體打開時將焦點(diǎn)移到特定的客戶記錄,則可以將 OpenArgs 屬性設(shè)為客戶名稱,然后在 Open 宏中使用 FindRecord 操作將焦點(diǎn)移到指定名稱的客戶記錄。

示例

下面的示例使用 OpenArgs 屬性打開“雇員”窗體中的某一特定職員記錄,并說明 OpenForm 方法如何設(shè)置 OpenArgs 屬性??梢栽谶m當(dāng)?shù)臅r候執(zhí)行該過程,例如,當(dāng)一個用于輸入雇員新信息的自定義對話框的 AfterUpdate 事件發(fā)生的時候。

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