|  | Unser Angebot für Sie! Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'! |
| | | | | |
Zusammenfassung
Erweitern Sie Ihre Anwendungen um ein Zoomfenster, das vergrößerbar ist und auch in der Access 2007-Runtime eingesetzt werden kann.
Techniken
Formulare, Makros, VBA
Voraussetzungen
Access 2000 oder höher
Beispieldateien
Zoom.mdb
Shortlink
625
Zoomfenster im Eigenbau
André Minhorst, Duisburg
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 (s. Abb. 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.
Abb. 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 mehrzufrieden sein, bauen Sie sich halt ein neues.
Dazu brauchen Sie ein einfaches Formular, welches das 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 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 Abb. 2 an.
Abb. 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).
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)
|