Egenskaben OpenArgs

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Gælder for

Formularobjekt
Rapportobjekt

Bestemmer strengudtrykket, der er angivet af argumentet OpenArgs for metoden OpenForm , der åbnede en formular. Læs/skriv Variant.

udtryk.OpenArgs

Udtryk Kræves. 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 at bruge Visual Basic for Applications (VBA)-kode 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 Open-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 et kontrolelement i formularen.

Antag f.eks., at den formular, du åbner, er en fortløbende formularliste over kunder. Hvis fokus skal flyttes til en bestemt klientpost, når formularen åbnes, kan du angive egenskaben OpenArgs til klientens navn og derefter bruge handlingen FindPost i en Åbn-makro til 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