Gilt für:
| Form-Objekt |
|---|
| Report-Objekt |
Bestimmt den Zeichenfolgenausdruck, der mit dem 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 ist nur bei Verwendung eines Makros oder bei Verwendung von Visual Basic for Applications (VBA)-Code mit der OpenForm-Methode des DoCmd-Objekts verfügbar. Die Einstellung dieser Eigenschaft ist in allen Ansichten schreibgeschützt.
Um die OpenArgs-Eigenschaft zu verwenden, öffnen Sie ein Formular mithilfe der OpenForm-Methode des DoCmd-Objekts , und legen Sie das OpenArgs-Argument auf den gewünschten Zeichenfolgenausdruck fest. Die OpenArgs-Eigenschafteinstellung kann dann im Code für das Formular verwendet werden, z. B. in einer Open-Ereignisprozedur. Sie können auch auf die Eigenschaftseinstellung in einem Makro verweisen, z. B. auf ein Öffnen-Makro, oder auf einen Ausdruck, z. B. einen Ausdruck, mit dem die ControlSource-Eigenschaft für ein Steuerelement im Formular festgelegt wird.
Angenommen, das Formular, das Sie öffnen, ist eine fortlaufende Liste von Clients. Wenn der 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 Datensatz finden in einem Open-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