Application.CurrentObjectName-Eigenschaft (Access)
Verwenden Sie die CurrentObjectName-Eigenschaft mit dem Application-Objekt , um den Namen des aktiven Datenbankobjekts zu bestimmen. Das Objekt mit dem Fokus oder das Objekt, in dem Code ausgeführt wird, ist das aktive Datenbankobjekt. Schreibgeschützte Zeichenfolge.
Syntax
Ausdruck. CurrentObjectName
expression Eine Variable, die ein Application-Objekt darstellt.
Bemerkungen
Die CurrentObjectName-Eigenschaft wird von Microsoft Access auf einen Zeichenfolgenausdruck festgelegt, der den Namen des aktiven Objekts enthält.
Die folgenden Bedingungen bestimmen, welches Objekt als das aktive Objekt gilt:
Ist das aktive Objekt ein Eigenschaftenfenster, eine Befehlsleiste, ein Menü, eine Palette oder eine Feldliste eines Objekts, gibt die CurrentObjectNameCurrentObjectName-Eigenschaft den Namen des zugrunde liegenden Objekts zurück.
Ist das Objekt ein Popupformular, bezieht sich die CurrentObjectNameCurrentObjectName-Eigenschaft auf das Popupformular selbst und nicht auf das Formular, von dem aus dieses geöffnet wurde.
Wenn das aktive Objekt das Datenbankfenster ist, gibt die CurrentObjectName-Eigenschaft das im Datenbankfenster ausgewählte Element zurück.
Wurde kein Objekt ausgewählt, gibt die CurrentObjectName-Eigenschaft eine leere Zeichenfolge (" ") zurück.
Wenn der aktuelle Zustand mehrdeutig ist (das aktive Objekt ist keine Tabelle, Abfrage, Kein Formular, Bericht, Makro oder Modul), z. B. wenn ein Dialogfeld den Fokus hat, gibt die CurrentObjectName-Eigenschaft den Namen des Dialogfelds zurück.
Beispiel
Verwenden Sie diese Eigenschaft mit der SysCmd-Methode , um das aktive Objekt und seinen Zustand zu bestimmen (z. B. wenn das Objekt geöffnet, neu ist oder geändert, aber nicht gespeichert wurde).
Das folgende Beispiel verwendet die Eigenschaften CurrentObjectTypeCurrentObjectType und CurrentObjectNameCurrentObjectName zusammen mit der Funktion SysCmdSysCmd, um zu ermitteln, ob das aktive Objekt das Formular Artikel ist und ob dieses Formular geöffnet ist und geändert, aber nicht gespeichert wurde. Wenn diese Bedingungen erfüllt sind, wird das Formular gespeichert und dann geschlossen.
Public Sub CheckProducts()
Dim intState As Integer
Dim intCurrentType As Integer
Dim strCurrentName As String
intCurrentType = Application.CurrentObjectType
strCurrentName = Application.CurrentObjectName
If intCurrentType = acForm And strCurrentName = "Products" Then
intState = SysCmd(acSysCmdGetObjectState, intCurrentType, _
strCurrentName)
' Products form changed but not saved.
If intState = acObjStateDirty + acObjStateOpen Then
' Close Products form and save changes.
DoCmd.Close intCurrentType, strCurrentName, acSaveYes
End If
End If
End Sub
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für