Recordset aus mehreren Tabellen

Hi, noch mal ich :wink:

Zum adden von Werten in eine Tabelle benutzt man ja

con.execute "INSERT INTO TABELLE(Spalte1) VALUES (WERT)

So, das ist mir auch klar und as würde auch funktionieren. Problem ist, das die Werte mit der die Tabelle gefüllt werden sollten in einem Recordset vorliegen und darum will der das irgendwie nicht einpflegen.

*Recordset erstellen* (hab die WHERE-Filterung mal rausgenommen)

rs.Open „SELECT a.ID,b.ID,b.PROCESS_PART,b.BUSINESS_PROCESS_FK FROM APP_FUNCTION_RUN as a,APP_PROCESS_PARTS as b“

So, nun will ich das ganze in eine andere Tabelle einpflegen, sieht dann so aus

*Übernahme des RS in die neue Tabelle*
con.Execute "INSERT INTO APP_WAITING_LOOP (APP_FUNC_RUN_FK,STATUS,INSERT_TIME,PROCESS_PARTS_FK,PROCESS_PART,BUSINESS_PROCESSES_FK,START_TIME) VALUES(hier die 7 Werte=das problem :wink: )

So hinter Values müssen ja nun die Werte eingepflegt werden, einzelne Zahlenwerte laufen ohne Problem.

Nur wie bekomme ich die Werte aus meinem Recordset dort rein (und vor allen Dingen auch das Doppelbelegte Name „ID“), wenn ich in die Klammern rs!a.ID usw. schreibe, dann meint er das Werte für Parameter fehlen, wenn ich das ganze mit ‚rs!a.ID‘ mache, dann meint er das die Typen unverträglich sind (obwohl beides Zahlenwerde)

Frage 2:
Um das Problem zu umgehen, hatte ich versucht die Werte des RS in Variablen zu packen und dann weiter zu arbeiten, allerding stellt sich mir dann die Frage, wie man die beiden IDs unterscheidet (a.ID und b.ID) weil eine direkte Zuweisung erkennt er nicht an (variable=rs!a.ID)

Danke fuer eure Geduld

Mfg Dom

Hallo Dominik,

welche DB? Welche Programmiersprache?
Ich vermute mal MSSQL/irgendeine Scriptsprache?

Wenn es nur ums SQL geht, müßte eigentlich ganz einfach ein

INSERT into TAB0 (spalte1, spalte2,…spalteN) SELECT a.spalte1, b.spalte1, …a.spalteN, b.spalteN from TAB1 a, TAB2 b WHERE …

funktionieren, Hauptsache die Anzahl und Reihenfolge stimmt.

Bei einem Recordset sollte es doch möglich sein, Aliasnamen für die Spalten zu vergeben (select a.spalte1 [as] a1, b.spalte1 [as] b1…)

Aber wie gesagt, s.o.

Gruß, Uwe