MS Access - DAO Recordset Methode
Hallo Leute,
Ich habe in einer Access Datenbank 3 Tabellen und eine Abfrage.
Tabelle tbl_invoice enthält Rechnungsköpfe
Tabele tbl_invoiceline enthält Rechnungspositionen
Tabelle tbl_purch enthält Auftragspositionen
Die Abfrage abf_BasisAbfragePurchforInvoice enthält alle Positionen die ich verrechnen möchte.
Anbei habe ich folgenden Code generiert der mit erstmal den Rechnungskopf erstellt und das funktioinert so wie es sein soll.
Ich habe jedoch 2 Probleme:
1. Möchte ich in die tbl_purch zurückschreiben und das Datum setzen. Das funktioniert momentan nicht weil er es einfach bei irgendeinem Datensatz hineinschreibt und nicht beim Quelldatensatz.
2. Möchte ich auch die Rechnungspositionen dazu erzeugen. Im wesentlichen ist ein Datensatz in der Purch auch ein Datensatz in der Rechnungsposition.
Punkt 1 habe ich intgegriert nur dürfte beim "Edit" noch etwas fehlen um den richtigen Datensatz zu finden
Punkt 2 habe ich noch gar nicht integriert weil da keinen Ansatzpunkt hatte wie ich das anstellen kann.
Ich habe in einer Access Datenbank 3 Tabellen und eine Abfrage.
Tabelle tbl_invoice enthält Rechnungsköpfe
Tabele tbl_invoiceline enthält Rechnungspositionen
Tabelle tbl_purch enthält Auftragspositionen
Die Abfrage abf_BasisAbfragePurchforInvoice enthält alle Positionen die ich verrechnen möchte.
Anbei habe ich folgenden Code generiert der mit erstmal den Rechnungskopf erstellt und das funktioinert so wie es sein soll.
Ich habe jedoch 2 Probleme:
1. Möchte ich in die tbl_purch zurückschreiben und das Datum setzen. Das funktioniert momentan nicht weil er es einfach bei irgendeinem Datensatz hineinschreibt und nicht beim Quelldatensatz.
2. Möchte ich auch die Rechnungspositionen dazu erzeugen. Im wesentlichen ist ein Datensatz in der Purch auch ein Datensatz in der Rechnungsposition.
Punkt 1 habe ich intgegriert nur dürfte beim "Edit" noch etwas fehlen um den richtigen Datensatz zu finden
Punkt 2 habe ich noch gar nicht integriert weil da keinen Ansatzpunkt hatte wie ich das anstellen kann.
Sub fun_VerrechnungPurch()
' Menue: Extras -> Verweise Microsoft DAO 3.6 Object Library
' muss aktiv sein!
Dim rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim i As Integer
Set rs = CurrentDb.OpenRecordset("tbl_invoice")
Set rs1 = CurrentDb.OpenRecordset("tbl_invoiceline")
Set rs2 = CurrentDb.OpenRecordset("abf_BasisAbfragePurchforInvoice")
Set rs3 = CurrentDb.OpenRecordset("tbl_purch")
If rs2.RecordCount > 0 Then
rs2.MoveLast
rs2.MoveFirst
For i = 1 To rs2.RecordCount
rs.AddNew
rs![Projekt] = rs2!Projekt
rs![Rechnungsdatum] = Date
rs.Update
rs3.Edit
rs3![Verrechnet am] = Date
rs3.Update
rs2.MoveNext
Next i
Else
MsgBox "nix zum Kopieren vorhanden"
End If
rs.Close
rs1.Close
rs2.Close
rs3.Close
Set rs = Nothing
Set rs1 = Nothing
Set rs2 = Nothing
Set rs3 = Nothing
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 398545
Url: https://administrator.de/forum/ms-access-dao-recordset-methode-398545.html
Ausgedruckt am: 07.04.2025 um 14:04 Uhr
2 Kommentare
Neuester Kommentar
Moin,
dein rs3 wird nicht positioniert... dann is klar das der "irgendwo!" hinschreibt.
Und tu' dir (und allen anderen die deinen Code lesen müssen) einen Gefallen und verwendet sprechende Namen... bei 3 RecordSets immer nachzusehen welcher zu welcher Tabelle gehört ist nervig
/EDIT: Zeilen 12-13 sind so Quatsch. Der Recordcount steht immer auf 0 solange nicht der letzte Satz gelesen wurde. Die bessere Reiehnfolge ist daher 13, 14, 12
lg,
Slainte
dein rs3 wird nicht positioniert... dann is klar das der "irgendwo!" hinschreibt.
Und tu' dir (und allen anderen die deinen Code lesen müssen) einen Gefallen und verwendet sprechende Namen... bei 3 RecordSets immer nachzusehen welcher zu welcher Tabelle gehört ist nervig
/EDIT: Zeilen 12-13 sind so Quatsch. Der Recordcount steht immer auf 0 solange nicht der letzte Satz gelesen wurde. Die bessere Reiehnfolge ist daher 13, 14, 12
lg,
Slainte