Code im Current-Ereignis (Acc2010)

13/11/2012 - 14:32 von Martin Hockemeyer | Report spam
Hallo liebe Gemeinde,

ich stehe seit Tagen vor einem Problem zu dem ich partout keine Lösung finden kann:
Ich habe eine Access 2003 Datenbank, die ich derzeit in einer Access 2010 .accdb neu aufbaue (u.a. per Import der einzelnen Datenbankobjekte). Soweit konnte ich bisher auch alle Hürden nehmen und rein funktionell làuft die neue Anwendung mittlerweile ohne Fehler.

Nun stehe ich aber vor einem deutlichen Performanceproblem. In vielen Formularen habe ich HFOŽs und UFOŽs. Beim DS-Wechsel im HFO wird "beim Anzeigen" einiges an VBA-Code durchgeführt.
Der Code an sich ist relative harmlos. Es werden zum Beispiel mit DAO Recordsets Werten in Parametertabellen aktualisiert, um den zuletzt angezeigten Datensatz beim erneuten öffnen der Anwendung wieder zu finden. Oder Daten des Unterformulars werden abhàngig von Werten einzelner Textfelder des gewàhlten DS im HFO gefiltert. Oder es wird z.B. die AllowEdits Eigentschaft des UFOŽs in Abhàngigkeit des gewàhlten DS im HFO veràndert, etc.

Wo der Datensatzwechsel inklusive Codeverarbeitung in Access 2003 (bzw. mit einer in Access 2010 geöffneten 2003er .mdb), innerhalb 100-200 ms von statten ging, dauert der Vorgang nun bis zu 3 Sekunden.

Ich habe schon viele Performance Tipps probiert, wie z.B. das deaktivieren der Objektnamen Autokorrektur, das Umwandeln des BEŽs in eine .accdb (liegt lokal auf der Festplatte vor, keine weiteren Zugriffe), Decompile/Compile, Reparieren/Komprimieren, hàndischer Neuaufbau des Formulars, indexieren hàufig genutzter Such- und Sortierfelder, Primàrschlüssel, etc.

Wenn ich den DS-Wechsel in Millisekunden messe, merkt man deutliche Unterschiede nach dem auskommentieren diverser Codefragmente. So bringt z.B. das auskommentieren der Anweisung zur Aktualisierung der Parametertabelle, eine Geschwindigkeitssteigerung von 300-500ms. Vor der Umstellung auf das Access 2010 Format war das auskommentieren dieser Zeile kaum messbar.

Ich verwende Win7 64Bit mit Office 2010 32Bit. Ich würde mich sehr freuen. wenn jemand Hinweise, Anregungen oder Vorschlàge hat, wie ich das Problem in den Griff bekommen könnte.

Liebe Grüße,
Martin
 

Lesen sie die antworten

#1 Peter Doering
13/11/2012 - 15:40 | Warnen spam
Hallo,

Martin Hockemeyer wrote:

... Performanceproblem. ... HFOŽs und UFOŽs. Beim DS-Wechsel im HFO wird "beim
Anzeigen" einiges an VBA-Code durchgeführt. Der Code an sich ist
relative harmlos



Lass mal sehen.

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen