PDA

Vollständige Version anzeigen : Daten in Historie verschieben / Anfüge- Löschabfrage


Speedfreak
17.01.2008, 11:22
Hallo,

ich möchte die Datensätze mit Ablaufdatum kleiner heutiges Datum in eine Historien-Tabelle verschieben. Dazu habe ich eine Anfüge- und eine Löschabfrage erstellt, die funktionieren auch einzeln aufgerufen einwandfrei nur wenn ich diese z.B. per Button automatisch nacheinander ablaufen lasse bekomme ich eine Fehlermeldung (...kann nich alle DS anfügen die von der Abfrage betroffen sind...). Die Daten werden jedoch alle angefügt, nur die Löschabfrage läuft dann nicht mehr über die Haupttabelle.
Gibts evtl. ne bessere Möglichkeit dieses abgelaufene-Daten-verschieben zu realisieren?
:rolleyes:
Danke,
Andy

petbay
17.01.2008, 11:25
Hallo,

zeig doch mal deine Abfragen, u. vielleicht den Code hinter dem Button.

Speedfreak
17.01.2008, 11:47
Hi,

auf dem Button hab ichs mit folgendem versucht:


Private Sub btn_archivieren_Click()
On Error GoTo Err_btn_archivieren_Click

Dim stDocName As String
Dim stDocName2 As String

stDocName = "qry_Historie"
DoCmd.OpenQuery stDocName, acNormal, acEdit

stDocName2 = "qry_löschen"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Exit_btn_archivieren_Click:
Exit Sub

Err_btn_archivieren_Click:
MsgBox Err.Description
Resume Exit_btn_archivieren_Click

End Sub

Ich vermute irgendwie dass er löschen will bevor die Daten fertig kopiert sind (Timingproblem)

Die Anfügeabfrage u. Löschabfrage sind ganz simple mit

WHERE (((tbl_Fremdpersonal.Datum_bis) < Date() ));

als Kriterium.

Gruß,
Andy

hcscherzer
17.01.2008, 11:50
ein anderer (imho besserer) Ansatz: die Abfragen percurrentdb.execute "insert into ..."
currentdb.execute "delete from ..."ausführen

petbay
17.01.2008, 11:57
@Hans-Christian:

Ich fürchte, deine erste Abfrage löscht genau die Daten, die in der Zweiten angefügt werden sollen. :eek:

Ansonsten würd ich das auch so lösen.

PS:@Hans-Christian: hat sich wohl erledigt

Speedfreak
17.01.2008, 11:59
Danke, funktioniert!
:)
Gruß,
Andy