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.