Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 zwracające jeden z obiektów na liście Dotyczy.

Spostrzeżenia

Ta właściwość jest dostępna tylko przy użyciu makro lub przy użyciu kodu 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 dla argumentu OpenArgs żą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 procedura zdarzenia Open . Można również odwoływać się do ustawienia właściwości w makrze, na przykład do makra Otwórz lub do wyrażenia, na przykład do wyrażenia ustanawiającego właściwość ControlSource (ŹródłoKontrolki ) dla kontrolka 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 SubSub 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 IfEnd 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 IfEnd Sub

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.