Dotyczy

Obiekt Form

Obiekt Report

Ustala wyrażenie tekstowe określone przez argument właściwości OpenArgs metody OpenForm, która otworzyła formularz. Właściwość od odczytu i zapisu typu Variant (wariant).

wyrażenie.OpenArgs

wyrażenie Argument wymagany. Wyrażenie, które zwraca jeden z obiektów na liście Dotyczy.

Spostrzeżenia

Ta właściwość jest dostępna tylko za pomocą makro lub kodu języka Visual Basic for Applications (VBA) z metodą OpenForm obiektu DoCmd. To ustawienie właściwości jest tylko do odczytu we wszystkich widokach.

Aby użyć właściwości OpenArgs, otwórz formularz przy użyciu metody OpenForm obiektu DoCmd i ustaw argument OpenArgs na żądane wyrażenie ciągu. Ustawienie właściwości OpenArgs może być następnie używane w kodzie formularza, na przykład w otwartym procedura zdarzenia. Można również odwołać się do ustawienia właściwości makra, takiego jak makro Open, lub wyrażenia, takiego jak wyrażenie ustawiace właściwość ControlSourcekontrolka formularza.

Załóżmy na przykład, że otwarty przez Ciebie formularz to lista klientów w postaci formularza ciągłego. Jeśli chcesz, aby podczas otwierania formularza fokus był przenoszony do określonego rekordu klienta, możesz ustawić dla właściwości OpenArgs nazwę klienta, a następnie użyć akcji FindRecord w makrze zdarzenia Open w celu przenoszenia fokusu do rekordu klienta o określonej nazwie.

Przykład

W poniższym przykładzie użyto właściwości OpenArgs do otwierania formularza Pracownicy na określonym rekordzie pracownika oraz przedstawiono, jak metoda OpenForm ustawia właściwość OpenArgs. Możesz uruchamiać tę procedurę stosownie do potrzeb — na przykład, gdy występuje zdarzenie AfterUpdate dla niestandardowego okna dialogowego służącego do wprowadzania nowych informacji o pracowniku.

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

W następnym przykładzie użyto metody FindFirst do znajdowania pracownika, którego nazwisko określono we właściwości 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

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów Microsoft Office

Czy te informacje były pomocne?

Jaka jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×