Aktualisierung Daten - dauert lange

11/03/2008 - 15:02 von Eva Mayr | Report spam
Hallo newsgroup,

ich arbeite in einer adp und möchte über den Programmcode Daten in der
sql-Server-DB aktualisieren. Die Daten werden in einem Formular eingegeben.
Der Code sieht dazu folgendermaßen aus:

rs.LockType = adLockOptimistic
rs.CursorLocation = adUseServer
rs.CursorType = adOpenKeyset
rs.Open "s_dat_Tabelle1", cnn, , , adCmdTable
rs.Find "Id_Tabelle1 = " & frm.Controls!Id_aufFormular
rs!Id_Warengru = frm.Controls!kf_Warengru
rs!DatZeit_Peilung = frm.Controls!DatZeit_Peilung
rs.Update
rs.Close

Die Tabelle s_dat_Tabelle1 enthàlt sehr viele Datensàtze (über 700.000). Das
Problem ist, dass der Schritt, bei dem die Tabelle geöffnet wird, sehr lange
dauert. Gibt es da einen schnelleren Weg?

Danke für Rückmeldungen
Grüße
Eva
 

Lesen sie die antworten

#1 Stefan Dase
11/03/2008 - 16:03 | Warnen spam
Hallo Eva!

Der Code sieht dazu folgendermaßen aus:

rs.LockType = adLockOptimistic
rs.CursorLocation = adUseServer
rs.CursorType = adOpenKeyset
rs.Open "s_dat_Tabelle1", cnn, , , adCmdTable
rs.Find "Id_Tabelle1 = " & frm.Controls!Id_aufFormular
rs!Id_Warengru = frm.Controls!kf_Warengru
rs!DatZeit_Peilung = frm.Controls!DatZeit_Peilung
rs.Update
rs.Close

Die Tabelle s_dat_Tabelle1 enthàlt sehr viele Datensàtze (über 700.000). Das
Problem ist, dass der Schritt, bei dem die Tabelle geöffnet wird, sehr lange
dauert. Gibt es da einen schnelleren Weg?



Anstatt die gesamte Tabelle zu öffnen, und anschließend mittels
ADODB-Find-Methode deinen gewünschten Satz zu suchen, solltest du direkt
nur diesen einen per SQL aufrufen:

rs.Open "SELECT * FROM s_dat_Tabelle1 WHERE ...", cnn, , , adCmdText

HTH,
Stefan

Ähnliche fragen