Benutzer mit den meisten Antworten
Repaint eines Formulars

Frage
-
Moin,
aus einem Modul heraus steuere ich ein Formular, das mir als Fortschrittsanzeige dient. Das klappt manchmal sehr gut, soll heißen jede Aktualisierung wird an diesem Formular auch angezeigt. Manchmal klappt das aber auch nicht, die ersten Änderungen werden noch übernommen, dann nicht mehr, es kommt am Ende nur noch die Mitteilung das der Prozess abgeschlossen ist.
... Forms!formular1.Caption = Fil & " wird verarbeitet ( " & m_i & " von " & m_Anz & " )" Forms!formular1.Form.Controls("rechteck14").Width = 5900 * (m_i - 1) / (m_Anz - 1) Forms!formular1.Repaint ...
bei MSDN heißt es:
"Gelegentlich wartet Microsoft Access mit der Ausführung von anstehenden Bildschirmaktualisierungen, bis andere Aufgaben beendet wurden. Mit der RepaintRepaint-Methode können Sie die sofortige Aktualisierung der Steuerelemente des angegebenen Formulars erzwingen. "
Anscheinend gibt es aber Situationen, bei denen Repaint ins Leere geht. Diese Fortschrittanzeige macht allerdings nur Sinn, wenn die Änderungen auch durchgestellt werden. Weiß jemand Rat?
Tom
- Bearbeitet tom krist Donnerstag, 4. Juni 2015 07:51
Antworten
-
Am 04.06.2015 schrieb tom krist:
aus einem Modul heraus steuere ich ein Formular, das mir als Fortschrittsanzeige dient. Das klappt manchmal sehr gut, soll heißen jede Aktualisierung wird an diesem Formular auch angezeigt. Manchmal klappt das aber auch nicht, die ersten Änderungen werden noch übernommen, dann nicht mehr, es kommt am Ende nur noch die Mitteilung das der Prozess abgeschlossen ist.
... Forms!formular1.Caption = Fil & " wird verarbeitet ( " & m_i & " von " & m_Anz & " )" Forms!formular1.Form.Controls("rechteck14").Width = 5900 * (m_i - 1) / (m_Anz - 1) Forms!formular1.Repaint ...
Anstatt dem Repaint ein DoEvents einfügen, dann sollte es
funktionieren.
Servus
Winfried
Gruppenrichtlinien
HowTos zum WSUS Package Publisher
WSUS Package Publisher
HowTos zum Local Update Publisher
NNTP-Bridge für MS-Foren- Als Antwort markiert tom krist Donnerstag, 4. Juni 2015 10:07
Alle Antworten
-
Am 04.06.2015 schrieb tom krist:
aus einem Modul heraus steuere ich ein Formular, das mir als Fortschrittsanzeige dient. Das klappt manchmal sehr gut, soll heißen jede Aktualisierung wird an diesem Formular auch angezeigt. Manchmal klappt das aber auch nicht, die ersten Änderungen werden noch übernommen, dann nicht mehr, es kommt am Ende nur noch die Mitteilung das der Prozess abgeschlossen ist.
... Forms!formular1.Caption = Fil & " wird verarbeitet ( " & m_i & " von " & m_Anz & " )" Forms!formular1.Form.Controls("rechteck14").Width = 5900 * (m_i - 1) / (m_Anz - 1) Forms!formular1.Repaint ...
Anstatt dem Repaint ein DoEvents einfügen, dann sollte es
funktionieren.
Servus
Winfried
Gruppenrichtlinien
HowTos zum WSUS Package Publisher
WSUS Package Publisher
HowTos zum Local Update Publisher
NNTP-Bridge für MS-Foren- Als Antwort markiert tom krist Donnerstag, 4. Juni 2015 10:07