Wenn Benutzer in Access längere Inhalte von Textfeldern editieren, hilft das Zoomfenster oft weiter. Es zeigt den Inhalt in einem meist größeren Steuerelement und erlaubt das Einstellen der Schriftart und -größe. Es hat allerdings zwei Nachteile: Man kann seine Größe nicht anpassen und außerdem ist es nicht in der Runtime von Access 2007 verfügbar. Zwei Gründe, ein eigenes Zoomfenster zu bauen.
Das gravierendste Problem des originalen Zoomfensters von Access (siehe Bild 1) ist wohl seine beharrliche Weigerung, sich dem Benutzer unter Access 2007 zu zeigen. Das Zoomfenster befindet sich unter Access 2007 in der Datenbank Utility.accda, auf die Access-Anwendungen unter der Runtime aus unbekannten Gründen nicht zugreifen können.
Bild 1: Das Zoomfenster von Access
Das bezieht sich ausschließlich auf Systeme, auf denen die Runtime-Version tatsächlich installiert ist. Die Aussage, man könne die Runtime-Version einer Datenbank unter Access 2007 ganz einfach testen, indem man ihre Dateiendung in .accdr ändert, stimmt daher nicht ganz: Immerhin funktioniert dies, wenn die Vollversion auf dem betreffenden System installiert ist.
Gelegentlich möchte man das Zoomfenster vielleicht auch mal größer ziehen, um etwa bestimmte Texte im ursprünglichen Umbruch lesen zu können – dies würde zum Beispiel für Listings Sinn machen.
Sollten Sie aus irgendeinem der genannten Gründe mit dem eingebauten Zoomfenster nicht mehr zufrieden sein, bauen Sie sich halt ein neues.
Dazu brauchen Sie ein einfaches Formular, welches das Access Zoomfenster nachbildet, ein Makro namens Autokeys zum Abfangen der Tastenkombination Umschalt + F2 sowie ein wenig Code, der den aktuellen Steuerelementinhalt ausliest und diesen später zurückschreibt.
Formular für das Access Zoomfenster
Das Formular sollte in der Größe skalierbar sein, sowie das Anpassen der Schriftgröße und der Schriftart erlauben. Dazu rufen Sie den entsprechenden Systemdialog auf.
Zunächst bauen Sie das Formular mit den enthaltenen Steuerelementen nach: Dazu benötigen Sie ein großes Textfeld und drei Schaltflächen, die Sie mit txtZoom, cmdOK, cmdAbbrechen und cmdSchriftart benennen. Die Steuerelemente ordnen Sie wie in Bild 2 an.
Bild 2: Das nachgebaute Zoomfenster in der Entwurfsansicht
Stellen Sie die Formulareigenschaften Bildlaufleisten, Datensatzmarkierer, Navigationsschaltflächen und Trennlinien auf Nein ein.
Kümmern Sie sich dann zunächst um das Anpassen der Größe. Dies erledigen Sie mit einer Prozedur, die durch die Ereigniseigenschaft Bei Größenänderung ausgelöst wird (s. Listing 1).
Listing 1: Anpassen der Größe und Position der Steuerelemente beim ändern der Formulargröße
Private Sub Form_Resize() Const cRand As Integer = 100 Dim i As Integer With Me!txtZoom .Left = cRand .Width = Me.InsideWidth - 3 * cRand - Me.cmdOK.Width .Height = Me.InsideHeight - 2 * cRand - 10 .Top = cRand End With With Me.cmdOK .Left = Me.InsideWidth - cRand - .Width .Top = cRand End With With Me.cmdAbbrechen .Left = Me.InsideWidth - cRand - .Width .Top = Me.cmdOK.Height + 2 * cRand End With With Me.cmdSchriftart .Left = Me.InsideWidth - cRand - .Width .Top = 0 .Top = (Me.InsideHeight - cRand - .Height - 5) End With End Sub
Zoom-Funktion
Bevor wir uns an die Funktionen der einzelnen Schaltflächen wagen, sind ein paar Gedanken über die Vorgehensweise angebracht. Wie ruft man das Zoomfenster überhaupt auf? Wir haben es bereits angedeutet: Die Tastenkombination Umschalt + F2 soll durch ein Tastaturmakro abgefangen werden. Doch was macht das Makro dann am besten zuerst mal eine VBA-Funktion aufrufen. Von dort aus programmiert es sich doch viel leichter. Diese nennen wir ShowZoom, dementsprechend sieht das Makro aus wie in Bild 3.
Bild 3: Das Tastaturmakro in der Entwurfsansicht