Barvna shema: Temna
Trenutno dejavna stran: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Forms Object Library » troubleshooting » Das Formular wird nach der Behandlung von NodeFormat oder CellFormat langsam

Das Formular wird nach der Behandlung von NodeFormat oder CellFormat langsam

Aufklappen, Blättern, Sortieren oder Filtern dauert bis zu einer Sekunde je Schritt, nachdem FormatEvents eingeschaltet wurde, um NodeFormat oder CellFormat zu behandeln.

Umgebung

Alle Versionen von WklTreeView und WklTreeList, Microsoft 365 Access.

Ursache

NodeFormat tritt bei jedem Neuzeichnen für jeden sichtbaren Knoten auf, CellFormat für jede sichtbare Zelle. Access gibt jeden Aufruf eines ActiveX-Ereignisses an das Formular weiter, und jeder Aufruf kostet einige Millisekunden, auch wenn die Prozedur leer ist; einige Hundert sichtbare Zellen kosten je Neuzeichnen den größten Teil einer Sekunde. Ein DLookup oder eine Abfrage in der Prozedur vervielfacht die Kosten.

Lösung

  1. Verlagern Sie feste Formatierungen in die Daten: ForeColorField und BoldField (Struktur), Formatregeln (FormatRules, Strukturliste) – sie brauchen kein Ereignis.
  2. Belassen Sie FormatEvents = False, sofern das Formular die Ereignisse nicht behandelt.
  3. Wird ein Ereignis benötigt, halten Sie die Prozedur frei von Abfragen: Lesen Sie die benötigten Werte einmal (zum Beispiel in Form_Load in ein Dictionary) und schlagen Sie sie dort nach.
de/wiki/msaccess/comctl/troubleshooting/slow-formatting-events.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille