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 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