Gælder for
Formularobjekt |
Rapportobjekt |
Bestemmer det strengudtryk, der angives af argumentet OpenArgs for metoden ÅbnFormular, der har åbnet en formular. Læs/skriv Variant.
udtryk.OpenArgs
udtryk Påkrævet. Et udtryk, der returnerer et af objekterne på listen Gælder for.
Bemærkninger
Denne egenskab er kun tilgængelig ved hjælp af en makro eller ved hjælp af VBA-kode (Visual Basic for Applications) med metoden ÅbnFormular for objektet DoCmd. Denne egenskabsindstilling er skrivebeskyttet i alle visninger.
Hvis du vil bruge egenskaben OpenArgs , skal du åbne en formular ved hjælp af metoden ÅbnFormular for objektet DoCmd og angive argumentet OpenArgs til det ønskede strengudtryk. Egenskabsindstillingen OpenArgs kan derefter bruges i kode for formularen, f.eks. i en Åbn- hændelsesprocedure. Du kan også referere til egenskabsindstillingen i en makro, f.eks. en Åbn-makro eller et udtryk, f.eks. et udtryk, der angiver egenskaben Kontrolelementkilde for en kontrolelement i formularen.
Antag f.eks., at den formular, du åbner, er en fortløbende formularliste over kunder. Hvis du vil have fokus til at flytte til en bestemt post, når formularen åbnes, kan du angive egenskaben OpenArgs til kundens navn og derefter bruge handlingen FindPost i en Åbn-makro for at flytte fokus til posten for klienten med det angivne navn.
Eksempel
I følgende eksempel bruges egenskaben OpenArgs til at åbne formularen Medarbejdere for en bestemt medarbejderpost, og metoden ÅbnFormular viser, hvordan metoden OpenForm indstiller egenskaben OpenArgs . Du kan køre denne procedure efter behov – f.eks. når hændelsen EfterOpdatering forekommer for en brugerdefineret dialogboks, der bruges til at angive nye oplysninger om en medarbejder.
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
Det næste eksempel anvender metoden FindFirst til at finde den medarbejder, der er angivet egenskaben 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