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.

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 3/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

Ihren XING-Kontakten zeigen

Diesen Beitrag Ihrem XING-Kontakten vorstellen

Diesen Beitrag auf Facebook teilen

Verwandte Beiträge:

Formularposition speichern und wiederherstellen

Modale Dialoge mal anders

Transparenz und andere Effekte in Formularen

Formulare für die Dateneingabe

Validieren mit Klasse

Alle verwandten Beiträge ansehen ...

Bisherige Kommentare:

Alle Kommentare ansehen oder Kommentar abgeben

Über den Autor:

André Minhorst

Bitte nutzen Sie das XING-Profil nicht
für Fragen zum Artikel, sondern nur für
den Kontaktaustausch beziehungsweise
Projekt- oder Supportanfragen.

Zusammenfassung

Statten Sie Ihre Access-Anwendungen mit einer Fortschrittsanzeige aus.

Techniken

VBA, Formulare

Voraussetzungen

Access 2002 und höher

Beispieldateien

Fortschrittsanzeige.mdb

Shortlink

608

Fortschrittsanzeige

André Minhorst, Duisburg

Sie möchten Ihre Anwendung durch eine leicht zu programmierende Fortschrittsanzeige ergänzen? Einfach zwei Objekte zur Anwendung hinzufügen, ein paar Befehle schreiben und schon den Fortschritt von Aktionen im Blick haben? Kein Problem - dieser Beitrag stellt eine passende Lösung vor und zeigt auch, wie sie im Detail funktioniert.

Fortschrittlich

Es gibt nicht Schlimmeres, als auf etwas zu warten und nicht zu wissen, wann es so weit ist. Im Wartezimmer beim Arzt können Sie aufgrund der anwesenden Patienten wenigsten einigermaßen abschätzen, wie es vorangeht, aber wenn Sie gerade eine aufwendige Prozedur angeworfen haben und keine Statusmeldung über den aktuellen Stand erhalten, werden Sie vermutlich unruhig - kann ich noch einen Kaffee holen oder geht es gleich weiter? Und wenn Sie selbiges Ihren Kunden vorsetzen, sind Sie diese schneller los, als es Ihnen lieb ist.

Damit dies nicht geschieht, informieren Sie den Benutzer durch eine entsprechende grafische Darstellung über den Fortschritt - und das ist recht leicht zu bewerkstelligen.

Fortschrittsbalken im Einsatz

Um das nachfolgend beschriebene Formular zur Anzeige eines Fortschrittsbalkens zu benutzen, brauchen Sie nur wenige Anweisungen. Das folgende Beispiel zeigt schon alle möglichen Befehle:

Public Sub TestFortschritt()

Dim i As Integer

FortschrittAnzeigen

For i = 0 To 100

    FortschrittAktualisieren _

    i & " % fertig", i

Next i

FortschrittBeenden

End Sub

Mit FortschrittAnzeigen öffnen Sie die Fortschrittsanzeige. Diese zeigt dann noch keinen Text an und der Fortschrittsbalken hat eine minimale Breite. FortschrittBeenden schließt die Fortschrittsanzeige wieder.

Dazwischen liegt die Festlegung des jeweiligen Status mit der Anweisung FortschrittAktualisieren, die den Parameter strText und/oder intProzent erwartet.

Dabei gibt strText den zu diesem Zeitpunkt anzuzeigenden Statustext und intProzent den Fortschritt in Teilen von Hundert an.

Beide Informationen können auch einzeln angegeben werden. Der Fortschrittsbalken sieht für dieses Beispiel etwa wie in Abb. 1 aus.

pic002.tif

Abb. 1: Fortschrittsbalken, hier Anzeige des Fortschritts in Prozent

Integration

In der Regel setzt man einen Fortschrittsbalken innerhalb von Schleifen ein. Damit die Fortschrittsanzeige einigermaßen aussagekräftige Informationen liefert, ermitteln Sie vor dem ersten Schleifendurchlauf die Anzahl der Durchläufe. Sie können die Fortschrittsanzeige dann innerhalb der Schleife mit den entsprechenden Prozentwerten füttern. Für das Durchlaufen eines Recordsets könnte dies so aussehen:

Set rst = db.OpenRecordset("tblArtikel", dbOpenDynaset)

rst.MoveLast

rst.MoveFirst

intCount = rst.RecordCount

FortschrittAnzeigen

Do While Not rst.EOF

'Do Something

FortschrittAktualisieren "Datensatz " _

& rst.AbsolutePosition & " von " _

& intCount, rst.AbsolutePosition _

/ intCount * 100

rst.MoveNext

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.

Sie sind nicht angemeldet!
Für den kompletten Artikel plus Beispieldatenbanken müssen Sie sich einloggen!
Jetzt einloggen ...
 

Sie haben keine Benutzerdaten? Na, dann aber schnell:

Benutzerdaten erhalten Sie auf zwei Arten:

1. Testen Sie das Online-Archiv von 'Access im Unternehmen' für eine Woche. Sie müssen Sie lediglich für den 'Access im Unternehmen'-Newsletter anmelden.
Ja, ich will den einwöchigen Testzugang und den Newsletter!

2. Greifen Sie ein ganzes Jahr auf das Online-Archiv zu und erhalten Sie zusätzlich alle zwei Monate das brandneue "Access im Unternehmen"-Magazin - für nur EUR 108,-* im Jahr!
Ja, ich will Access im Unternehmen bestellen!

 

* inkl. MwSt., zzgl. Versandkostenpauschale, EUR 140,- inkl. MwSt., zzgl. Versandkostenpauschale ab dem zweiten Jahr

Verwandte Beiträge:

Formularposition speichern und wiederherstellen

Modale Dialoge mal anders

Transparenz und andere Effekte in Formularen

Formulare für die Dateneingabe

Validieren mit Klasse

Reihenfolge manuell anpassen

Kein Datensatz- und Positionswechsel bei Requery

Datenbank nach Vorlage

Zoomfenster im Eigenbau

Änderungsdaten protokollieren

Benutzerverwaltung

Alphabetisches Register

Meldungsfenster im Eigenbau

© 2003-2010 André Minhorst Alle Rechte vorbehalten.