Hallo
bitte nicht meckern, ich habe schon öfter deswegen gefragt, ich weiß.
Leider hatte ich die letzte Hilfe nicht mehr gefunden. Ausserdem ist es diesmal sehr ausführlich, weil ich das auch jetzt testen möchte.
Und zwar hatte jmd gemeint, das ich die Datensätze mit SQL direkt in einer Zeile einspielen kann und somit das Einlesen für viele Datensätze schneller ginge.
Nun wollte ich das mal testen, finde aber den Artikel nicht mehr (ich glaub es war ein Email direkt an mich).
Vielleicht kann mir das mal jmd schnell basteln, mein damaliger Versuch ging nämlich nicht.
Das ist meine momentane Routine zum Einlesen:
.ActiveConnection = Cn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Source = Meldung & " ORDER BY Datensatz"
.Open
Dim Pausenlänge, Start, Ende, Gesamtdauer
timZeitgeber.Enabled = True
Start = Timer 'Startzeit festlegen
For I = 1 To 10000
.AddNew
.Fields(0) = I & „1N“
.Fields(1) = I & „2N“
.Fields(2) = I & „3N“
.Fields(3) = I & „4N“
.Fields(4) = I & „5N“
.Fields(11) = I & „6N“
.Fields(12) = I & „7N“
.Fields(13) = I & „8N“
.Fields(15) = I & „9N“
.Update
.MoveNext
Next I
.Close
Die Änderung müsste wohl so sein, das die Datenbank mit den gleichen Einstellungen geöffnet wird:
.ActiveConnection = Cn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Source = Meldung & " ORDER BY Datensatz"
.Open
Danach dann das SQL-Statement, welches alle Daten auf einmal einliest:
Die Befehle kenne ich leider nicht.
SQL= Fields(1) + Fields(2) + … (so in etwa)
Das wär echt nett, wie ihr oben seht habe ich einen Timer eingebaut, damit kann ich das dann man testen.
Mfg Werner