Access-Fenster in den Vordergrund holen

Wenn Sie von Access aus einmal ein anderes Fenster aufrufen, möchten Sie vielleicht sicherstellen, dass der Blick nach dem Abschließen der dort durchgeführten Arbeiten wieder bei der Access-Anwendung landet. Wenn Sie etwa von Access aus den Dialog zum Auswählen eines Outlook-Ordners auswählen und das Outlook-Fenster ist zu diesem Zeitpunkt bereits geöffnet, dann gerät nach dem Schließen des Dialogs das Outlook-Fenster in den Vordergrund.

Um das Access-Fenster wieder nach vorn zu holen, sind nun zwei Schritte nötig: Als Erstes müssen Sie wie im Beitrag Titel des aktiven Fensters ermitteln (www.access-im-unternehmen.de/1001) beschrieben den Titel des Access-Fensters ermitteln und diesen etwa in einer Variablen speichern. Zweitens müssen Sie das so bezeichnete Fenster wieder in den Vordergrund holen.

Dabei hilft Ihnen die eingebaute Funktion AppActivate. Sie erwartet als Parameter lediglich den Titel des zu aktivierenden Fensters. Die folgende kleine Beispielprozedur ermittelt den Titel des aktuellen Access-Fensters und speichert diesen in der Variablen strFenster. Dann ruft sie den Outlook-Dialog mit der Hilfsfunktion VerzeichnisWaehlen auf. Danach sollte, wenn das Outlook-Fenster zuvor bereits geöffnet war, Outlook im Vordergrund bleiben. Schließlich holt AppActivate mit dem Fenstertitel aus strFenster das Access-Fenster wieder in den Vordergrund:

Private Sub cmdOutlook_Click()
     Dim strFenster As String
     strFenster = GetActiveWindowTitle
     Me!txtVerzeichnis = VerzeichnisWaehlen
     AppActivate strFenster
End Sub

Wenn Sie dies ausprobieren möchten, finden Sie der Vollständigkeit halber hier noch die Funktion VerzeichnisWaehlen:

Public Function VerzeichnisWaehlen() As String
     Dim objOutlook As Outlook.Application
     Dim objMAPI As Outlook.NameSpace
     Dim objFolder As Outlook.Folder
     Set objOutlook = New Outlook.Application
     Set objMAPI = objOutlook.GetNamespace("MAPI")
     Set objFolder = objMAPI.PickFolder
     If Not objFolder Is Nothing Then
         VerzeichnisWaehlen = objFolder.FolderPath
     End If
End Function

Diese Funktion öffnet den Dialog Ordner auswählen. Wenn das Outlook-Fenster bereits geöffnet ist, wird das Outlook-Fenster aktiviert und der Dialog vor diesem angezeigt (s. Bild 1). Schließt der Benutzer den Dialog, behält das Outlook-Fenster dennoch den Fokus. Erst die AppActivate-Anweisung holt den Fokus zurück zu Access.


Nur für Abonnenten

Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.

Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.

So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.

Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.

Bereits Abonnent? Hier einloggen


Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →

Schreibe einen Kommentar