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