Gilt für:
Form-Objekt |
Report-Objekt |
Bestimmt den Zeichenfolgenausdruck, der durch das OpenArgs-Argument der OpenForm-Methode angegeben wird, die ein Formular geöffnet hat. Variant mit Lese-/Schreibzugriff.
Ausdruck.OpenArgs
Ausdruck Erforderlich. Ein Ausdruck, der eines der Objekte in der Liste "Gilt für" zurückgibt.
Hinweise
Diese Eigenschaft steht nur bei Verwendung eines Makros oder von VBA-Code (Visual Basic for Applications) mit der OpenForm-Methode des DoCmd-Objekts zur Verfügung. Die Einstellung dieser Eigenschaft ist in allen Ansichten schreibgeschützt.
Um die OpenArgs-Eigenschaft zu verwenden, öffnen Sie ein Formular mit der OpenForm-Methode des DoCmd-Objekts, und legen Sie das OpenArgs-Argument auf den gewünschten Zeichenfolgenausdruck fest. Die OpenArgs-Eigenschaft kann dann im Code für das Formular verwendet werden, z.B. in einer Ereignisprozedur des Typs "Open". Sie können auch auf die Eigenschaftseinstellung in einem Makro verweisen, z.B. auf ein Makro des Typs "Open" oder einen Ausdruck, der z.B. die ControlSource-Eigenschaft für ein Steuerelement auf dem Formular festlegt.
Angenommen, das Formular, das Sie öffnen, ist eine fortlaufende Liste von Clients. Wenn die Fokus beim Öffnen des Formulars zu einem bestimmten Clientdatensatz verschoben werden soll, können Sie die OpenArgs-Eigenschaft auf den Namen des Clients festlegen und dann die Aktion SuchenDatensatz in einem Öffnen-Makro verwenden, um den Fokus auf den Datensatz für den Client mit dem angegebenen Namen zu verschieben.
Beispiel
Das folgende Beispiel verwendet die OpenArgs-Eigenschaft, um das Mitarbeiterformular für einen bestimmten Mitarbeiterdatensatz zu öffnen und zeigt, wie die OpenForm-Methode die OpenArgs-Eigenschaft festlegt. Sie können diese Prozedur nach Bedarf ausführen, z.B. wenn das AfterUpdate-Ereignis für ein benutzerdefiniertes Dialogfeld zur Eingabe neuer Informationen zu einem Mitarbeiter eintritt.
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
Im nächsten Beispiel wird die FindFirst-Methode verwendet, um den in der OpenArgs-Eigenschaft genannten Mitarbeiter zu bestimmen.
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