Willi_Kaiser
Mitglied
Hallo liebe Community,
ich habe mal eine Frage. Ich habe eine Benutzeroberfläche in Access.
Dort werden per Abfrage Datensätze aus einer Datenbank selektiert und in Textfelder reinkopiert. Nun sollte ich an den Textfeldern Änderungen machen und dann die Datensätze updaten. Jetzt mein Problem:
Hatte es mit einer Schleife gemacht, dort waren 1 Update Abfrage und 2 Insert Abfragen drinne. (Ist für die Bearbeitung notwendig)
Das ganze dauerte aber für 5 oder 20 Datensätze ca. 26 Sekunden.
Und das ist viel zu lang. So ich habe im Internet gelesen, dass man es per addnew und update machen kann/soll. Ich habe es angewendet, aber es dauert teilweise noch länger.
Ich weiß jetzt nicht direkt, wo mein Fehler ist. Ich poste mal meine Daten vielleicht wisst ihr das ja.
Ich benutze Access 2007 auf Windows 7 Home Premium, 4 Gb Ram und einer schnellen Internet Leitung.
Nun zum Code:
So sieht es ungefähr aus, an den Update Befehlen ansich könnte es eigentlich nicht liegen, da ich an derer Stelle die selben Befehle benutze, nur ohne Schleife.
Eigentlich habe ich die Frage fast selbst beantwortet würden jetzt einige sagen, aber ich weiß einfach nicht was an der schleife sein könnte.
Danke fürs lesen und eure Tipps
ich habe mal eine Frage. Ich habe eine Benutzeroberfläche in Access.
Dort werden per Abfrage Datensätze aus einer Datenbank selektiert und in Textfelder reinkopiert. Nun sollte ich an den Textfeldern Änderungen machen und dann die Datensätze updaten. Jetzt mein Problem:
Hatte es mit einer Schleife gemacht, dort waren 1 Update Abfrage und 2 Insert Abfragen drinne. (Ist für die Bearbeitung notwendig)
Das ganze dauerte aber für 5 oder 20 Datensätze ca. 26 Sekunden.
Und das ist viel zu lang. So ich habe im Internet gelesen, dass man es per addnew und update machen kann/soll. Ich habe es angewendet, aber es dauert teilweise noch länger.
Ich weiß jetzt nicht direkt, wo mein Fehler ist. Ich poste mal meine Daten vielleicht wisst ihr das ja.
Ich benutze Access 2007 auf Windows 7 Home Premium, 4 Gb Ram und einer schnellen Internet Leitung.
Nun zum Code:
Code:
Set Conn = CurrentProject.Connection
Set DBS = New ADODB.Recordset
DBS.Open "Tabelle", Conn, adOpenKeyset, adLockOptimistic
DBS.AddNew
DBS.Fields("Feld1") = Inhalt
DBS.Fields("Feld2") = Inhalt
DBS.Fields("Feld3") = Inhalt
DBS.Fields("Feld4") = Inhalt
DBS.Update
DBS.Close
Code:
Do While Not rs.EOF
'rec.Open "UPDATE Tabelle SET XXX = XXXX , cnn, adOpenStatic, adLockBatchOptimistic
'rec.Open "INSERT Tabelle (XXXXXX) cnn, adOpenStatic, adLockBatchOptimistic
'rec.Open "insert into Tabelle (XXXXXXX), cnn, adOpenStatic, adLockBatchOptimistic
'
Loop
So sieht es ungefähr aus, an den Update Befehlen ansich könnte es eigentlich nicht liegen, da ich an derer Stelle die selben Befehle benutze, nur ohne Schleife.
Eigentlich habe ich die Frage fast selbst beantwortet würden jetzt einige sagen, aber ich weiß einfach nicht was an der schleife sein könnte.
Danke fürs lesen und eure Tipps