Mittwoch, 22. November 2017

Home
Tipps
Bücher
Software
News / Links
Hilfe
Impressum

Sponsored by
QualityHosting

Tipp/Trick
Formular im Tiefschlaf
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.

Ein Service der TriniDat Software-Entwicklung GmbH - Am Wehrhahn 45 - 40211 Düsseldorf

  Suche
Suche starten
  Service
Leserbrief / Frage zu Access
Kontakt
  NewsLetter
NewLetter bestellen
NewsLetter abbestellen
  Partner-Seiten
HyperLink

www.trinidat.de


HyperLink

www.fulldotnet.de