Veteran
Beiträge: 289
![100](http://donkarl.com/forum/images/decorations/multiple/100.gif) ![100](http://donkarl.com/forum/images/decorations/multiple/100.gif) ![25](http://donkarl.com/forum/images/decorations/multiple/25.gif) ![25](http://donkarl.com/forum/images/decorations/multiple/25.gif) ![25](http://donkarl.com/forum/images/decorations/multiple/25.gif) Ort: München | [...]
For Each ctl In Obj.Section(0).Controls
[...]
Debug.Print x & " " & ctl.Name & " " & Now()
[...]
Set rst = db.OpenRecordset("SELECT * FROM tbl_Status WHERE Status Not like 'Briefkopf'", dbOpenDynaset, dbSeeChanges)
[...]
If DLookup("ErweiterteSchriftfarbenVerwenden", "tbl_Optionen") = True Then
[...]
End If
[...]
Mit
If DLookup("ErweiterteSchriftfarbenVerwenden", "tbl_Optionen") = True Then
wird in einer Schleife immer der gleiche Wert geholt. Das kannst du einmalig vor der Schleife machen.
Evtl. bremst auch das
Debug.Print x & " " & ctl.Name & " " & Now()
Evtl. hilft auch das umstellen der beiden Schleifen "For Each ctl" und "Set rst ... Do While ...".
Außerdem gilt DLookup als nicht besonders performant in Verbindung mit Schleifen.
Zum Thema bedingte Formatierung kann ich nicht weiterhelfen, da ich das bisher no9ch nicht verwendet habe.
----- Grüße aus München
Stefan |