PDA

Vollständige Version anzeigen : Kopieren aus Formular


Maike2
19.08.2002, 10:48
Bin absoluter Anfänger und habe folgendes Problem:

Ich habe ein Suchformular mit Kombifeld, das den selektierten Datensatz in einem Listenfeld anzeigt. Nun möchte ich diesen Datensatz über einen Button in eine andere Tabelle kopieren.

Private Sub BT_Duplizieren_Click()

Dim RS_old As DAO.Recordset
Dim RS_new As DAO.Recordset
Dim FldNr As Integer
Dim new_ID As Long


Set RS_old = CurrentDb.OpenRecordset("SELECT * FROM Wischer WHERE Id = " & Me!ID)

Set RS_new = CurrentDb.OpenRecordset("Best")

RS_new.AddNew

For FldNr = 1 To RS_old.Fields.Count - 1
RS_new.Fields(FldNr) = RS_old.Fields(FldNr)
Next FldNr

new_ID = RS_new!ID

RS_new.Update

RS_old.Close
RS_new.Close


End Sub

Leider wird aber immer nur der erste Datensatz der Tabelle kopiert. Was mache ich verkehrt?
Ich hoffe, es kann mir jemand helfen.

Maike

Raller
19.08.2002, 10:54
Hai.
Das ist kompliziert zu erklären.

Wenn ich den Code verstehe, ist "Me.ID" die ID des ersten Datensatzes in der Listbox (einfach mal anzeigen lassen.)

Um die markierte ID "zu erwischen" mußt Du ungefähr so vorgehen:

1. In der ersten Spalte der Listbox muss die ID des jew. DS mitgeführt werden (1.Spaltenbreite =0, dann ist sie unsichtbar).
2. statt Me.ID mußt Du sagen
= Listbox.Column(1, Listbox.LinstIndex)

Jetzt hast Du die richtige ID und kannst den DS kopieren.

(Vorher fleißig eine Kopie der Db anlegen...)

Sag bitte Bescheid, wenns noch immer klemmt.
Gruß
Raller

Maike2
19.08.2002, 20:51
Hallo Raller,
danke für die schnelle Antwort.
Nach der Änderung bekomme ich jetzt die Fehlermeldung:"Undefinierte Funtion in Listbox.Column in Ausdruck".
Was bedeutet das?

Maike

Raller
25.10.2002, 07:27
Hallo Maike2,

sorry, ich hab dieses Posting nicht "vernünftig" überwacht :-( Tut mir leid.

Konntest Du das Problem lösen?
(Ich denke, es ist die = Listbox.Column(1, Listbox.LinstIndex), muss eine 0 sein.
Gruß
Raller