Formular im Tiefschlaf

30.12.2003

Bildschirmaktualisierung eines Formulars verhindern.

Wenn Sie umfangreiche Vorgänge an Formularen durchführen, die mit Bildschirmaktualisierungen verbunden sind, kosten diese oftmals sehr viel Zeit.

Mit Hilfe der Painting-Eigenschaft können Sie die Bildschirmaktualisierung eines Formulars verhindern, um so die Abarbeitungsgeschwindigkeit zu beschleunigen.

Besonders stark macht sich die Zeitverzögerung des Bildschirmaufbaus beim Einsatz der Requery-Methode bemerkbar, die die Datenquelle eines Formulars auf den neusten Stand bringt. Hierbei wird nämlich automatisch zum ersten Datensatz der Datenquelle gewechselt.

Wenn Sie aber direkt nach der Aktualisierung sowieso auf einen anderen Datensatz positionieren möchten, ist der Wechsel zum ersten Datensatz eher störend.

Setzen Sie in diesem Fall die Painting-Eigenschaft des Formulars vorher auf False, um Bildschirmaktualisierungen zu verhindern. Anschließend führen Sie die Requery-Methode aus und positionieren auf den richtigen Datensatz.

Damit Access diesen auch im Formular präsentieren kann, dürfen Sie anschließend nicht vergessen, die Painting-Eigenschaft wieder auf True zu setzen. Wenn Sie dies vergessen, reagiert das Formular auf keine Benutzeraktionen mehr und Sie könnten den Eindruck eines Systemabsturzes erhalten.

Das folgende Beispiel positioniert in einem Adressenformular auf die Adresse mit der Nummer 3. Vor der Positionierung erfolgt eine Aktualisierung der Datenquelle:

Sub PaintingDemo()

Dim FormObj As Form
Dim R As Recordset
On Error GoTo Err
Set FormObj = Forms!Adressen

FormObj.Painting = False
FormObj.Requery
Set R = FormObj.RecordsetClone
R.FindFirst "AdresseNr = 3"
If Not R.NoMatch Then FormObj.Bookmark = R.Bookmark

Ende: FormObj.Painting = True Exit Sub

Err: MsgBox Err.Description Resume Ende

End Sub

Beachten Sie, dass die Painting-Eigenschaft in diesem Beispiel auch dann wieder auf True gesetzt wird, falls ein Laufzeitfehler auftritt.

Dienstleistungen

Als starker Partner an Ihrer Seite unterstützen wir Sie in folgenden Breichen:

Access-Programmierung

Benötigen Sie Unterstützung bei der Programmierung von Access-Anwendungen? Wir bieten die gesamte Bandbreite von der Access-Programmierung auf Stundenbasis bis zur Durchführung eines Software-Projektes als Auftragsarbeit an. Kontaktieren Sie uns für ein kostenloses Erstgespräch.

Software-Beratung

Haben Sie ein Software-Projekt und Sie wissen nicht, ob Access die richtige Plattform ist? Wir haben über 20 Jahre Erfahrung beim Erstellen von Windows-, Web und mobilen Anwendungen. Kontaktieren Sie uns für eine kostenlose Erstberatung.