Select @@Identity...

05/07/2009 - 23:33 von Andreas Vogt | Report spam
Hallo,
ich füge in mehrere Tabellen Daten ein. Dabei habe ich 4 Master und 4
Clienttabellen.
Das ganze mache ich in einer Transaktion:

Public ws As DAO.Workspace
Public db As DAO.Database
Public rs As DAO.Recordset

Set ws = DBEngine.Workspaces(0)
Set db = CurrentDb
ws.BeginTrans

db.Execute "Insert into Komponente1(ID_Steu, Status, Erfassungsdatum)
Values (" & Me.ID_Steu1 & ", 5, '" & Now() & "')"
If db.RecordsAffected > 0 Then
db.Execute "Insert into Komponente1_Daten (ID_Steu, istReman,
archiv) Values (" & Me!ID_Steu1 & ", True, False)"
If db.RecordsAffected > 0 Then
Set rs = db.OpenRecordset("SELECT @@IDENTITY AS ID;")
If Not rs.EOF Then
IDSteu = rs!ID
End If
End If
End If

db.Execute "Insert into Komponente2
db.Execute "Insert into Komponente3...
db.Execute "Insert into Komponente4...

ws.CommitTrans
...

db.RecordsAffected gibt mir auch immer als Wert 1 zurück beim
Debuggen. Der Primàrschlüssel der _Daten Tabelle lautet bei allen 4
Komponententabellen ID
Beim Debuggen bekomme ich bei allen Komponenten die Meldung "Element
in dieser Auflistung nicht gefunden"

Wo liegt denn da das Problem (außer beim Entwickler mein ich)
Gruß Andreas
 

Lesen sie die antworten

#1 Josef Poetzl
06/07/2009 - 00:26 | Warnen spam
Hallo!

Andreas Vogt schrieb:
[...]
db.Execute "Insert into Komponente1_Daten (ID_Steu, istReman,
archiv) Values (" & Me!ID_Steu1 & ", True, False)"


[...]
Set rs = db.OpenRecordset("SELECT @@IDENTITY AS ID;")
If Not rs.EOF Then
IDSteu = rs!ID
End If


[...]
Beim Debuggen bekomme ich bei allen Komponenten die Meldung "Element
in dieser Auflistung nicht gefunden"



In welcher Zeile kommt die Fehlermeldung?
Ich nehme an, dass der Fehler bei "IDSteu = rs!ID" auftritt.
Würde rs.Fields(0) funktionieren? Was ist IDSteu - eine Variable?
Ein Tippfehler, den du hier beim Schreiben nicht gemacht hast, ist
ausgeschlossen? ;-)

BTW: Ein rs.Close würde im Prinzip auch nicht schaden (ist aber sicher
nicht die Fehlerquelle).

mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen