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:
Formular-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 SubDie 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.
