Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 4/2008.

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'!

Diesen Beitrag twittern

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.

pic001.tif

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.

pic002.tif

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).

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)

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Verwandte Beiträge:

Formularposition speichern und wiederherstellen

Zugriff auf Daten in Formularen und Steuerelementen

Modale Dialoge mal anders

Transparenz und andere Effekte in Formularen

Formulare für die Dateneingabe

Validieren mit Klasse

Alphabetisches Register

Änderungsdaten protokollieren

Datenbank nach Vorlage

Kein Datensatz- und Positionswechsel bei Requery

Meldungsfenster im Eigenbau

Benutzerverwaltung

Fortschrittsanzeige

© 2003-2015 André Minhorst Alle Rechte vorbehalten.