Egenskapen OpenArgs

Gäller för

Form-objekt

Report-objekt

Avgör stränguttrycket som anges med argumentet öppningsargument i metoden OpenForm som öppnar ett formulär. Variant för läsning/skrivning.

uttryck.OpenArgs

uttryck är obligatoriskt. Ett uttryck som returnerar ett av objekten i listan Gäller för.

Kommentarer

Den här egenskapen är bara tillgänglig via ett makro eller med VBA-kod (Visual Basic for Applications) och metoden OpenForm för DoCmd-objektet. Inställningen för den här egenskapen är skrivskyddad i alla vyer.

Om du vill använda egenskapen OpenArgs öppnar du ett formulär med metoden OpenForm för DoCmd-objektet och anger önskat stränguttryck för argumentet öppningsargument. Inställningen för egenskapen OpenArgs kan sedan användas i kod för formuläret, som i händelseproceduren Open. Du kan också referera till egenskapsinställningen i ett makro, som ett Open-makro, eller i ett uttryck, till exempel ett uttryck som anger egenskapen ControlSource egenskapen för en kontroll i formuläret.

Anta till exempel att formuläret du öppnar är lista med klienter av typen kontinuerligt formulär. Om du vill att fokus fokus ska flyttas till en viss klientpost när formuläret öppnas kan du sätta egenskapen OpenArgs till klientens namn och sedan använda åtgärden FindRecord i ett Open-makro till att flytta fokus till posten för klienten med det angivna namnet.

Exempel

I följande exempel visas hur egenskapen OpenArgs används till att öppna formuläret Employees vid en viss post, och hur metoden OpenForm används till att ange egenskapen OpenArgs. Du kan köra den här proceduren efter behov, till exempel när händelsen AfterUpdate inträffar för en anpassad dialogruta som används till att ange ny information om en medarbetare.

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

I nästa exempel används metoden FindFirst till att leta upp medarbetaren med namnet som anges i egenskapen 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
Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×