Gjelder for
Skjemaobjekt |
Rapportobjekt |
Bestemmer strenguttrykk angitt av OpenArgs-argumentet for OpenForm-metoden som åpnet et skjema. Lese/skrive Variant.
uttrykk.OpenArgs
uttrykk Påkrevd. Et uttrykk som returnerer ett av objektene i Gjelder for-listen.
Merknader
Denne egenskapen er tilgjengelig bare ved bruk av en makro eller ved hjelp av Visual Basic for Applications, VBA-kode med OpenForm-metoden for DoCmd-objektet. Denne egenskapsinnstillingen er skrivebeskyttet i alle visninger.
Hvis du vil bruke OpenArgs-egenskapen, åpner du et skjema ved hjelp av OpenForm-metoden for DoCmd-objektet, og angir OpenArgs-argumentet til ønsket strenguttrykk. Egenskapsinnstillingen for OpenArgs kan deretter brukes i kode for skjemaet, som i en åpen hendelsesprosedyre. Du kan også referere til egenskapsinnstillingen i en makro, som en Open-makro eller et uttrykk, for eksempel et uttrykk som angir ControlSource-egenskapen for en kontroll i skjemaet.
Anta for eksempel at skjemaet du åpner, er en kontinuerlig skjemaliste over kunder. Hvis du vil at fokus skal flytte til en bestemt kundepost når skjemaet åpnes, kan du angi OpenArgs-egenskapen til kundens navn, og deretter bruke FinnPost-handlingen i en Open-makro for å flytte fokuset til posten for kunden med det spesifiserte navnet.
Eksempel
Følgende eksempel bruker OpenArgs-egenskapen for å åpne ansattskjemaet for en bestemt ansattpost og viser hvordan OpenForm-metoden angir OpenArgs-egenskapen. Du kan kjøre denne prosedyren etter behov, for eksempel når AfterUpdate-hendelsen opptrer for en egendefinert dialogboks som brukes for å angi ny informasjon om en ansatt.
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 neste eksemplet bruker FindFirst-metoden for å finne den ansatte navngitt i OpenArgs-egenskapen.
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