PDA

Vollständige Version anzeigen : Recordset kopieren


David1403
23.03.2004, 11:28
Hallo alle zusammen,

Ich habe folgendes Problem, dass ich ein Recordset öffne und anschließend eine kopie von diesem Recordset mache will. Ich möchte allerdings nicht den Zeiger kopieren, sondern die kompletten Daten. Ziel soll es sein Datensätze in ihrer Position in der Tabelle zu verschieben, wobei der Primarykey vom alten Datensatz übernommen wird.

Ich habe dies schon realisiert indem ich eine zusätzliche kopie der Tabelle erstelle und dann mit der Kopie arbeite. Dies funktioniert, gefällt mir aber nicht da die Datenbank zu gemüllt wird.


Set Records = CurrentDb.OpenRecordset("SELECT * FROM tblTemp")
Set TempRecords = Records.Clone <--- !!!
Set NewRecord = CurrentDb.OpenRecordset("SELECT * FROM tblTemp WHERE ID = " & Me.IDField)

Do While Not Records.EOF
.
.
.
If Records("LfdNr") >= Me.LfdNr Then
For Each Field In Records.Fields
If (Field.Name <> "LfdNr") And (Field.Name <> "LfdPosNr") Then
With Records
.Edit
Records(Field.Name) = NewRecord(Field.Name)
.Update
End With
End If
Next
Set NewRecord = Nothing
Set NewRecord = TempRecords <--- Hier wird dann das NewRecord immer auf den vorherigen Datensatz gesetzt der im Records bereits verändert wurde
End If

Records.MoveNext
TempRecords.MoveNext
Loop

stpimi
23.03.2004, 13:35
Ziel soll es sein Datensätze in ihrer Position in der Tabelle zu verschieben, wobei der Primarykey vom alten Datensatz übernommen wird
Was ist der Sinn der Übung? Gibt es einen besonderen Grund, das direkt in der Tabelle zu machen? Wäre nicht irgendeine Spalte als Sortierkriterium für eine Abfrage sinnvoller?

Mfg, Michael