Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datensatz in andere Tabelle verschieben

680 views
Skip to first unread message

Walter Hess

unread,
Apr 5, 1999, 3:00:00 AM4/5/99
to
Hallo

Wie kann man den ausgewaehlten Datensatz eines Recordsets der Tabelle "A"
in eine andere gleich strukturierte Tabelle "B" der gleichen Datenbank
verschieben.

Tschau

Josef Syrovatka

unread,
Apr 5, 1999, 3:00:00 AM4/5/99
to
manuell mit Menü bearbeiten:
Datensätze markieren in Quelltabelle
Bearbeiten/Ausschneiden
Wechsel in Zieltabelle
Bearbeiten/Am Ende anfügen

automatisch mit Aktionsabfragen:
Eine Tabellenanfügeabfrage kopiert Datensätze von Quell- in Zieltabelle.
Eine Löschabfrage löscht dann die Datensätze in der Quelltabelle.
kopieren + löschen = verschieben.

Josef

Walter Hess schrieb in Nachricht
<7EG11...@310049863249-0001.dialin.t-online.de>...

Walter Hess

unread,
Apr 5, 1999, 3:00:00 AM4/5/99
to
Hallo josef

>automatisch mit Aktionsabfragen:
> Eine Tabellenanfuegeabfrage kopiert Datensaetze von Quell- in
>Zieltabelle. Eine Loeschabfrage loescht dann die Datensaetze in der
>Quelltabelle. kopieren + loeschen = verschieben.

Danke fuer die schnelle Antwort.

Diese beiden Methoden kenne ich, mit denen kann ich in meiner VB-Funktion
leider nicht arbeiten.
Ich moechte innerhalb einer Do Loop Schleife den aktiven DS von Tabelle1 =
Recordset1 ausschneiden und in Tabelle2 = Recordsets2 einfuegen.

Wie man den DS feldweise in eine andere Tabelle einfuegt ist mir bekannt.

Tschau

Josef Syrovatka

unread,
Apr 5, 1999, 3:00:00 AM4/5/99
to
Per VBA habe ich bisher nur Datensätze innerhalb eines Recordsets kopiert.
Ich habe dies in Acc97 auch feldweise durchgeführt, damit ich jedes Feld
beeinflussen kann:
- Primärschlüssel eindeutig füllen
- Anlagedatum, Standardwerte, Gültigkeitsregeln,...

Warum verwendest Du nicht eine Tabellenanfügeabfrage/Löschabfrage
mit DoCmd.RunSQL und DoCmd.SetWarnings False?
Dies sollte schneller sein als Do/Loop Schleifen.

Josef

Walter Hess schrieb in Nachricht

<7EG1M...@310049863249-0001.dialin.t-online.de>...

Gunold Brunbauer

unread,
Apr 6, 1999, 3:00:00 AM4/6/99
to

Walter Hess schrieb in Nachricht
<7EG11...@310049863249-0001.dialin.t-online.de>...

>Wie kann man den ausgewaehlten Datensatz eines Recordsets der Tabelle "A"
>in eine andere gleich strukturierte Tabelle "B" der gleichen Datenbank
>verschieben.
Hallo Walter,
das geht über die Zwischenablage.
Also: Tabelle "A" öffnen, Datensatz markieren und in die Zwischenablage
kopieren.
Dann Tabelle "B" öffnen, neuen Datensatz markieren und Daten aus der
Zwischenablage einfügen
Gruss
gunold

E.Werner

unread,
Apr 7, 1999, 3:00:00 AM4/7/99
to
HI

du musst in VBA beide Tabellen öffnen

Dim dbs As Database, rst1 As Recordset, rst2 As Recordset

Set dbs = OpenDatabase("Nordwind.mdb")

Set rst1 = dbs.OpenRecordset("Tabelle A")
Set rst2 = dbs.OpenRecordset("Tabelle B")

Nun kannst du von rst1 Daten lesen und bei rst2 schreiben.
Bevor du schreibst, musst du einen neuen Datensatz erstellen

rst2.AddNew

rst2![Feld1] = rst1![Feld1]
rst2![Feld2] = rst1![Feld2]
...

oder
rst2 = rst1

und zum schluss mit

rst2.update

schreiben.

rst1.close
rst2.close
dbs.close

Sehe die mal die Hilfe für AddNew oder OpenRecordset / First Last Funktionen
... nach.

der Rest müsste mit der Hilfe zu schaffen sein.

mfg WE :-)


Walter Hess <Hess...@t-online.de> schrieb in im Newsbeitrag:
7EG11...@310049863249-0001.dialin.t-online.de...
> Hallo


>
> Wie kann man den ausgewaehlten Datensatz eines Recordsets der Tabelle "A"
> in eine andere gleich strukturierte Tabelle "B" der gleichen Datenbank
> verschieben.
>

> Tschau

Walter Hess

unread,
Apr 8, 1999, 3:00:00 AM4/8/99
to
Hallo josef

>Per VBA habe ich bisher nur Datensaetze innerhalb eines Recordsets
>kopiert. Ich habe dies in Acc97 auch feldweise durchgefuehrt, damit ich
>jedes Feld beeinflussen kann:
>- Primaerschluessel eindeutig fuellen
>- Anlagedatum, Standardwerte, Gueltigkeitsregeln,...
>
>Warum verwendest Du nicht eine Tabellenanfuegeabfrage/Loeschabfrage


>mit DoCmd.RunSQL und DoCmd.SetWarnings False?
>Dies sollte schneller sein als Do/Loop Schleifen.

Mit Abfragen kann ich in meinem Fall nicht arbeiten.

Ich suche nur nach einer Moeglichkeit den gewaehlten DS des Recordsets der
Tabelle "A" komplett auf einmal in die gleich strukturierte Tabelle "B" zu
kopieren. Danach muss der DS aus Tabelle "A" geloescht werden (RS.Delete).
DS in Tabelle "A" ausschneiden und in Tabelle "B" einfuegen wird wohl
nicht gehen.

Das einzige Problem ist das komplette kopieren des DS.
AddNew und Feld fuer Feld einfuegen ist kein Problem.

Tschau

Walter Hess

unread,
Apr 9, 1999, 3:00:00 AM4/9/99
to
Hallo WE

> rst2 = rst1

Genau das waehre es was ich suchte.

Wenn es da nicht den Kompilierungsfehler.

"Verwenden der Eigenschaft unzulaessig."
geben wuerde.

Ansonsten muesste ich nur noch rst1.Delete ausfuehren.

rst1 auschneiden und bei rst2 einfuegen geht wohl nicht.


Tschau

Walter Hess

unread,
Apr 10, 1999, 3:00:00 AM4/10/99
to
Hallo gunold

>>Wie kann man den ausgewaehlten Datensatz eines Recordsets der Tabelle
>>"A" in eine andere gleich strukturierte Tabelle "B" der gleichen
>>Datenbank verschieben.

>das geht ueber die Zwischenablage.
>Also: Tabelle "A" oeffnen, Datensatz markieren und in die
>Zwischenablage kopieren.
>Dann Tabelle "B" oeffnen, neuen Datensatz markieren und Daten aus der
>Zwischenablage einfuegen

Ja so kann man es manuell machen.
Ich moechte es mit VB durchfuehren.

Tschau

K.Morbach

unread,
Apr 12, 1999, 3:00:00 AM4/12/99
to
Walter Hess schrieb in Nachricht
<7E$4ztj...@310049863249-0001.dialin.t-online.de>...

Hi Walter,

bin z.Z. noch A2-ler aber sollte in A8 vielleich auch gehen,
Prinzip über Menue-Befehle und Zwischenablage in VBA:

DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_SELECTRECORD_V2, , A_MENU_VER20
DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_COPY, , A_MENU_VER20 'ab in die
Zwischenablage


DoCmd GoToRecord A_form, Me.name, A_NEWREC ' der neue Datensatz des
Formulars
DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_SELECTRECORD_V2, , A_MENU_VER20
DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, 4, , A_MENU_VER20 'Paste Append
aus der Zwischenablage

Menuebefehle nach A8 abändern.

Tschau,
Klaus Morbach


Walter Hess

unread,
Apr 15, 1999, 3:00:00 AM4/15/99
to
Hallo Klaus,


>DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_SELECTRECORD_V2, ,
>A_MENU_VER20 DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_COPY, ,
>A_MENU_VER20 'ab in die Zwischenablage
>
>
>DoCmd GoToRecord A_form, Me.name, A_NEWREC ' der neue Datensatz des
>Formulars
>DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, A_SELECTRECORD_V2, ,
>A_MENU_VER20 DoCmd DoMenuItem A_FORMBAR, A_EDITMENU, 4, , A_MENU_VER20
> 'Paste Append aus der Zwischenablage

Danke fuer den Tip. Habe das Problem mittlerweile vom Tisch.

Tschau

0 new messages