Van toepassing op
Formulierobject |
Rapportobject |
Bepaalt de reeksexpressie die door het argument OpenArgs is opgegeven in de OpenForm-methode die een formulier opende. Variant lezen/schrijven.
expressie.OpenArgs
expressie Vereist. Een expressie die een van de objecten in de lijst Van toepassing op retourneert.
Opmerkingen
Deze eigenschap is alleen beschikbaar door een macro te gebruiken of door VBA-code (Visual Basic for Applications) te gebruiken met de OpenForm-methode van het DoCmd-object. Deze eigenschapsinstelling is alleen-lezen in alle weergaven.
U kunt de eigenschap OpenArgs gebruiken door een formulier te openen met behulp van de OpenForm-methode van het DoCmd-object en het OpenArgs-argument in te stellen op de gewenste tekenreeksexpressie. De instelling voor de eigenschap OpenArgs kan vervolgens in de code voor het formulier worden gebruikt, zoals in een Open-gebeurtenisprocedure. U kunt ook naar de eigenschapsinstelling verwijzen in een macro, zoals een Open-macro, of een expressie, zoals een expressie die de eigenschap ControlSource instelt voor een besturingselement in het formulier.
Stel bijvoorbeeld dat het formulier dat u opent een doorlopend formulier is met een lijst klanten. Als u wilt dat de focus naar een specifieke klantenrecord gaat als het formulier wordt geopend, kunt u de eigenschap OpenArgs instellen op de naam van de klant en vervolgens de actie FindRecord in een Open-macro gebruiken om de focus te verplaatsen naar de record voor de klant met de opgegeven naam.
Voorbeeld
Het volgende voorbeeld gebruikt de eigenschap OpenArgs om het formulier Medewerkers te openen bij een specifieke medewerkersrecord en laat zien hoe de methode OpenForm de OpenArgs-eigenschap instelt. U kunt deze procedure uitvoeren wanneer u dat gepast acht, bijvoorbeeld als de gebeurtenis AfterUpdate plaatsvindt voor een aangepast dialoogvenster dat wordt gebruikt om nieuwe informatie over een medewerker in te voeren.
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
Het volgende voorbeeld gebruikt de FindFirst-methode om de medewerker te zoeken van wie de naam in de OpenArgs-eigenschap wordt genoemd.
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