Właściwość OpenArgs

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 — wymagane. Wyrażenie, które zwraca jeden z obiektów na liście Dotyczy.

Spostrzeżenia

Ta właściwość jest dostępna tylko przy użyciu makra lub kodu języka Visual Basic for Applications (VBA) dla metody OpenForm obiektu DoCmd. Ustawienie tej właściwości jest tylko do odczytu we wszystkich widokach.

Aby użyć właściwości OpenArgs, otwórz formularz za pomocą metody OpenForm obiektu DoCmd i ustaw dla argumentu właściwości OpenArgs odpowiednie wyrażenie ciągu. Ustawienie właściwości OpenArgs może być następnie używane w kodzie formularza, takim jak procedura zdarzenia Open. Możesz również utworzyć odwołanie do ustawienia tej właściwości w makrze, np. makrze zdarzenia Open, lub w wyrażeniu, np. wyrażeniu ustawiającym właściwość ControlSource dla kontrolki w formularzu.

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
Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×