Forums Neueste Beiträge
 

ADO Fehlermeldung bei Recordset Update

11/02/2009 - 07:47 von Andreas Ahrens | Report spam
Hi NG,

beim ausführen des Codes bekomme ich folgende Fehlermeldung:

Der Datensatz kann nicht hinzugefügt oder geàndert werden, da ein Datensatz
in der Tabelle "PC" mit diesem Datensatz in Beziehung stehen muss

Code:

Private Sub sFZuordnungLösen_Click()
Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open ("SELECT Kunden.PC, PC.sperre FROM PC " & _
"INNER JOIN Kunden ON PC.PCID = Kunden.PC ORDER BY Kunden.PC"),
db, adOpenStatic, adLockPessimistic
rs.Fields("PC") = 0
rs.Fields("sperre") = False
rs.Update
rs.Close
db.Close
End Sub

Woran kann das liegen?

Gruß
Andy
 

Lesen sie die antworten

#1 André Minhorst
11/02/2009 - 09:26 | Warnen spam
Hi,

Am Tue, 10 Feb 2009 22:47:00 -0800 schrieb Andreas Ahrens:
beim ausführen des Codes bekomme ich folgende Fehlermeldung:

Der Datensatz kann nicht hinzugefügt oder geàndert werden, da ein Datensatz
in der Tabelle "PC" mit diesem Datensatz in Beziehung stehen muss

Code:

Private Sub sFZuordnungLösen_Click()
Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Open ("SELECT Kunden.PC, PC.sperre FROM PC " & _
"INNER JOIN Kunden ON PC.PCID = Kunden.PC ORDER BY Kunden.PC"),
db, adOpenStatic, adLockPessimistic
rs.Fields("PC") = 0
rs.Fields("sperre") = False
rs.Update
rs.Close
db.Close
End Sub

Woran kann das liegen?



das kann zum Beispiel daran liegen, dass es in der Tabelle PC keinen
Datensatz mit der PCID = 0 gibt (also mit dem Wert, den Du dem Feld PC der
Tabelle Kunden hinzufügen willst), was bei einer Beziehung mit relationaler
Integritàt aber Voraussetzung wàre.

Die Fehlermeldung sagt also schon alles. Davon ab solltest Du statt
adOpenStatic adOpenKeyset verwenden (adOpenStatic entspricht dem
dbOpenSnapshot unter DAO, was bedeutet, dass Du die Daten des Recordsets
nicht bearbeiten kannst).

Davon abgesehen solltest Du an Deiner Namenskonvention arbeiten. Sobald
Tabellen genauso heißen wie die darin enthaltenen Felder, solltest Du
stutzig werden.

Ciao
André

http://www.access-entwicklerbuch.de
http://www.access-im-unternehmen.de

Ähnliche fragen