Fortschrittsbalken in Access

Der Fortschrittsbalken zeigt an, wie weit die Arbeit bereits fortgeschritten ist

Von: Lorenz Hölscher
Stand: 2. Mai 2011
Anmelden um Kommentare zu schreiben

Downloads zu diesem Beitrag

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Auf dem Formular

Den Fortschrittsbalken auf diesem Formular anzeigen

Die alternative Technik für einen Fortschrittsbalken verlagert diesen in ein Formular. Das ist fast automatisch im Blickfeld des Benutzers und Sie haben vor allem völlige Gestaltungsfreiheit.

Der Aufwand ist allerdings nur zu rechtfertigen, wenn Sie sowieso ein Formular geöffnet haben (das ist als klassische Access-Benutzeroberfläche jedoch recht wahrscheinlich) und bereit sind, wenigstens zwei Rechtecke darauf unterzubringen.

Die speziellen Elemente für ein solches Formular sehen aus wie im folgenden Formular-Entwurf:

Bild vergrößernFormular-Entwurf mit zwei Rechtecken

Zu der Schaltfläche btnFormular kommt noch ein blaues Rechteck rctInnen und ein durchsichtiges Rechteck rctAussen mit vertieftem Rand. In der Schleife wird das blaue Rechteck dann von Width = 0 bis zur Breite des äußeren Rechtecks vergrößert:

Private Sub btnFormular_Click()
    Dim lngZaehler As Long
    Const clngMaximum = 1000

    For lngZaehler = 1 To clngMaximum
        Me.rctInnen.Width = Me.rctAussen.Width * lngZaehler / clngMaximum
        Me.Repaint
    Next
End Sub

Die tatsächliche Breite des inneren Rechtecks müssen Sie selbst berechnen, was kein Problem sein sollte, da Sie ja die Breite der Schaltfläche bereits definiert haben.

Viel wichtiger ist der Me.Repaint-Befehl, denn ohne diesen würden Sie gar keinen Fortschritt sehen: Der Bildschirm würde erst am Ende der Prozedur aktualisiert, der Balken würde dann direkt von Null auf seinen 100%-Wert springen.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein