適用對象
| Form 物件 |
|---|
| Report 物件 |
決定 OpenForm 方法中 OpenArgs 參數所指定的字串表達式,該參數能開啟表單。 讀/寫變數。
expression.OpenArgs
表達 必須。 一個回傳 Apply To 清單中物件的表達式。
備註
此特性僅透過使用 巨集,或使用 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