Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Werte einer Abfrage in eine neue Tabelle Kopieren

Begonnen von Bernie110, Oktober 04, 2014, 19:24:33

⏪ vorheriges - nächstes ⏩

Bernie110


Hallo Zusammen,

ich möchte Werte einer Abfrage in eine neue Tabelle übernehmen.

Die Abfrage enthält Kritieren die auf HF Felder basieren.

Hier der SQL String der Abfrage :
SELECT qyr_TOUR_DISPO_TA_LISTENFELD.TOUR_ID, qyr_TOUR_DISPO_TA_LISTENFELD.Ladedatum, qyr_TOUR_DISPO_TA_LISTENFELD.FHZ_BEZ, qyr_TOUR_DISPO_TA_LISTENFELD.TU, qyr_TOUR_DISPO_TA_LISTENFELD.TOUR_ART, qyr_TOUR_DISPO_TA_LISTENFELD.STATUS_TOUR, LTW.LTW, LTW.TOUR_NL AS NL
FROM qyr_TOUR_DISPO_TA_LISTENFELD INNER JOIN TOUR_LTW AS LTW ON qyr_TOUR_DISPO_TA_LISTENFELD.TOUR_ID = LTW.TOUR_ID
WHERE (((qyr_TOUR_DISPO_TA_LISTENFELD.Ladedatum) Like "" & [FORMS]![DISPOPLAN_LTW_DISPO_HF]![Ladedatum]) AND ((LTW.LTW) Like "" & [FORMS]![DISPOPLAN_LTW_DISPO_HF]![LTW] & "*") AND ((LTW.TOUR_NL) Like "" & [FORMS]![DISPOPLAN_LTW_DISPO_HF]![NL]));


Jetzt wollte ich mit folgendem Code die gewünschten Daten in eine neue Tabelle kopieren. Der Code wird aus dem HF das wiederum
die Kriterien der Abfrage erfüllt ausgefühert

Public Sub MIT_LTW_TOUR_ANLEGEN()

Dim rs1 As DAO.Recordset, rs2 As DAO.Recordset, db As Database, I As Integer


Set db = CurrentDb

Set rs1 = db.OpenRecordset("Select * from qyr_DISPOPLAN_TA_LTW_DISPO ", dbOpenSnapshot)

Set rs2 = db.OpenRecordset("Select * from TOUR_DISPO ", dbOpenDynaset)


Do Until rs1.EOF


For I = 1 To 1


'------------------------------------------------------------------------------------------------------------------------------------
rs2.AddNew

rs2!TA_ID = rs1!TA_ID
rs2!TOUR_ID = Me.Liste50

rs2!Angelegt_am = Now
rs2!Angelegt_von = Me.CurrentUser

'----------------------------------------------------------------------------------------------------
rs2.Update

Next

rs1.MoveNext
Loop


rs2.Close: Set rs2 = Nothing
rs1.Close: Set rs1 = Nothing
Set db = Nothing

' **********************************************************************************************************

End Sub


Das funktioniert aber nicht.

Wie würdet Ihr das machen ?

Lg Bernie

MzKlMu

Hallo,
warum brauchst Du die Daten 2x, wenn die in einer Tabelle sind, warum noch mal in eine andere Tabelle?

Im übrigen, kannst Du aus der Abfrage eine Tabellenerstellungsabfrage machen und schon hast Du Deine neue Tabelle. Der gezeigte Code wird so vollständig überflüssig.

Aber wie gesagt, in einer Datenbank sollte es eigentlich nicht notwendig sein, redundante Daten zu speichern.
Gruß Klaus

Bernie110

Hallo,

Alles klar. Funktioniert  prima.

Die Tabelle gibt es, damit sich die User nicht in die Quere kommen.

Diese Tabelle verbindet Aufträge mit Fahrzeugen.

Und die Verküpfung hierzu kann dann jeder User machen.
Ich dachte mir, wenn ich das mit einer Zwischen Tabelle löse, hab ich zugleich auch noch den gewünschten Effekt, welcher User was gemacht hat.

Ist das in falsch ?

danke
Für deine Hilfe
Lg Bernie

MzKlMu

Hallo,
das halte ich für völlig falsch. Man lässt doch einen User keine Verknüpfung machen.
Wenn Du bei der Datenerfassung den User mittloggst, weist Du auch wer was gemacht hat.

Ein Verknüpfung (wenn Du damit Beziehung meinst), ist ja auch nicht frei wählbar, sondern fest unabänderlich vorgegeben.
Gruß Klaus