分享方式:


Form.OpenArgs 屬性 (存取)

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

語法

表達。OpenArgs

expression 代表 Form 物件的變數。

註解

此屬性只能透過使用巨集或將 Visual Basic 搭配 DoCmd 物件的 OpenForm 方法來使用。 在所有檢視中,此屬性設定值是唯讀的。

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

舉例來說,假設您所開啟的表單是客戶的連續表單清單。 如果您想要在表單開啟時將焦點移至特定用戶端記錄,您可以將 OpenArgs 屬性設定為用戶端的名稱,然後使用 [開啟] 巨集中的 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 支援與意見反應