PDA

Vollständige Version anzeigen : Zeitzähler mit Endlosschleife?


Carsten
09.05.2001, 17:19
Ich möchte in VBA einen Zähler starten (mit Button) der jede Minute eine Summe aufaddiert. Dieser Zähler soll mit einem anderen Button gestoppt werden.
Starte ich eine Endlosschleife über das Click() Ereignis kann ich logischerweise kein cmdStop_Click() Ereignis abfragen.
Wie realisiere ich so einen Zähler und woher bekomme ich den Zähltakt?

Alexander Jan Peters
09.05.2001, 18:17
<font color="#000000" size="2" face="Tahoma">Hallo,

Du brauchst nur in Deine Schleife eine Prüfbedingung einzubauen, die eine auf Modulebene deklarierte Variable abfragt.
Die Variable kannst Du im Click-Ereignis des 2.Buttons auf den Abbruchwert setzen.

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></p></font>

Carsten
09.05.2001, 20:05
Hallo Alexander,
Vielen Dank für die prompte Antwort.
Wenn ich die Schleife an das Start_Click() Ereignis binde, bleibt VBA aber doch in dieser Schleife hängen und ein Abbrechen_Click() Ereignis würde gar nicht ausgeführt.
Ich kann während die Schleife läuft nicht mal das Formular schliessen.
Hast Du eventuell auch eine Idee zum Thema Zeitgeber?? Ich hab schon die API Sleep versucht aber während der PC schläft ist ebenfalls alles blockiert und die aufaddierte Summe wird erst am Ende der Schleife angezeigt, obwohl ich lblErgebnis.caption bzw. txtErgebnis.Text vor dem Sleep-Befehl setze.

Alexander Jan Peters
09.05.2001, 22:55
<font color="#000000" size="2" face="Tahoma">Hallo,

dafür ist eigentlich die DoEvents-Funktion vorgesehen, in Deine Schleife einbauen und das Abbrechen_Click-Ereignis funktioniert.

Gruß

A.J. Peters

Empfehlenswerte Links:
<a href="http://www.donkarl.com">Access FAQ von Karl Donaubauer</a>
<a href="http://www.access-paradies.de/Links.htm">Access-Paradies Links</a></p></font>