Re: ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- From: Josef Poetzl <news@xxxxxxxxxxx>
- Date: Wed, 14 May 2008 20:34:47 +0200
Hallo!
Jörg Bottler schrieb:
in Access 2007 dauert das Zuweisen einer Recordsource im Formular extrem
lange.
Variante 1:
Me.RecordSource = " Select * from tblHuhu WHERE Huhu_Nr = " & parNr
Variante 2:
tblHuhu dem Formular als Datenquelle mitgeben.
und dann:
Set rst = Me.RecordsetClone
rst.FindFirst "Huhu_Nr=" & parNr
If rst.NoMatch Then
Set rst = Nothing
Exit Sub
End If
Me.Bookmark = rst.Bookmark
Läuft um vieles schneller. Klar ich muss natürlich bei Variante 1 nicht mehr
die Datensätze durchlaufen.
Trotzdem widerspricht das etwas den Performance-Tips von
http://www.granite.ab.ca/access/performancefaq.htm
Wenn du das Formular anfangs ungebunden ladest und erst später die
Recordsource-Zuweisung vornimmst, sollte Variante 1 auf jeden Fall
schneller sein.
Ist die Objektnamen-Autokorrektur aus? (Wenn es mir schwer fällt
bestimmte Performance-Unterschiede zu verstehen, gebe ich gerne diesem
ursuper Feature die Schuld. :-))
Zumal ich auch festgestellt habe, dass Listboxen, etc. auch schneller sind
in Access 2007, wenn man die Datenquelle schon im Steuerelement definiert.
Wie meinst du das?
Hat jemand ähnliche Erfahrung oder bessere Tips ?
Habe etwas bedenken, wenn die Backend im Netz steht und ich jedesmal beim
Laden des Formulars die komplette Tabelle tblHuhu laden muss und damit die
Daten über's Netz jage.
Das sollte imo nicht passieren, da auch FindFirst einen Index nutzen
sollte.
Apropo: Gibt es eine Möglichkeit eine Abfrage im Backend laufen zu lassen
und dann nur die Ergebnismenge über's Netz zu schaufeln. Wohl gemerkt meine
Backend ist auch eine AccessDB.
Das ist immer so ein Sache mit dem "Daten übers Netz schaufeln". Es
werden nicht unbedingt alle Daten übertragen, sondern nur dann wenn
kein Index genutzt werden kann. Natürlich muss für eine Indexsuche
auch ein bestimmter Datenbestand übertragen werden, da kein aktives
DBMS vorliegt.
Eine Abfrage kann aber nie im Access-BE laufen, da ein Access-(Jet)-BE
auf die DBEngine des Clients angewiesen ist.
mfg
Josef
--
EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/
.
- Follow-Ups:
- Re: ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- From: Jörg Bottler
- Re: ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- References:
- ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- From: Jörg Bottler
- ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- Prev by Date: Re: Probleme mit IE7 unter Vista
- Next by Date: Re: Serienbrief mit Parameterabfragen
- Previous by thread: ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- Next by thread: Re: ACCESS 2007 Performance bei Recordsource Zuweisung in Formular
- Index(es):
Relevant Pages
|