Relationenen setzten in Access mittels VBA (Access)

SteffiB777 @, Dienstag, 03.12.2019, 12:51 (vor 8 Tagen)

Hallo Zusammen,

ich würde gerne in meiner DB Relationen setzten, jedoch finde ich den Fehler nicht. Folgender Fehler Code wird mir ausgegeben: "Der Datensatz kann nicht hinzugefügt oder geändert werden, da ein Datensatz in der Tabelle "" mit diesem Datensatz in Beziehung stehen muss.

Primärtabelle: Anfertigungsteil (Schlüssel: Material)
Fremdtabelle: yprst (Schlüssel: Material)

Sub yprst()
Dim db As DAO.Database
Dim tdfY As DAO.TableDef
Dim tdfA As DAO.TableDef
Dim rsY As DAO.Recordset
Dim fldY As DAO.Field
Dim relNew As DAO.Relation

Set db = CurrentDb 'DB definieren
Set tdfY = db.TableDefs("yprst")
Set tdfA = db.TableDefs("Anfertigungsteil")
'Eine bestehende Beziehung zwischen den Tabellen wird gelöscht
For Each relNew In db.Relations
If relNew.Table = tdfA.Name And relNew.ForeignTable = tdfY.Name Then
db.Relations.Delete relNew.Name
End If
Next relNew

Set tdfY = db.TableDefs("yprst")
Set tdfA = db.TableDefs("Anfertigungsteil")

'Beziehung zwischen Anfertigungsteile und yprst setzten
Set relNew = db.CreateRelation("yprstAnfertigungsteil")
relNew.Table = tdfA.Name
relNew.ForeignTable = tdfY.Name
relNew.Attributes = dbRelationUpdateCascade
'zwischen welche Spalten die Relation erstellt werden soll
Set fldY = relNew.CreateField("Material")
fldY.ForeignName = "Material"
'Set relNew = db.CreateRelation("yprstAnfertigungsteil", tdfA.Name, tdfY.Name, dbRelationUpdateCascade)
'relNew.Fields.Append relNew.CreateField("Material")
'relNew.Fields("Material").ForeignName = "Material"
'Setzen der Relation
relNew.Fields.Append fldY
db.Relations.Append relNew
db.Relations.Refresh
db.Close
dbY.Relations.Refresh
Set relNew = Nothing
Set db = Nothing
Set tdfY = Nothing
Set tdfA = Nothing
Set fldY = Nothing
End Sub


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum