VB/ADO: Beziehungen erstellen

Hallo Kollegen,

weiss gerade nicht mehr weiter :frowning:. Wie kann ich per VB / ADO in einer ACCESS Tabelle eine 1:1 Beziehung (mit referentieller Integrität und Löschweitergabe) zwischen zwei Tabellen herstellen. Finde zwar ein Codebeispiel für 1:n krieg das aber nicht für 1:1 hin.

Im voraus schonmal herzlichen Dank für Eure Hilfe

Gruß

Thomas

Soweit ich weiß ergibt sich der Beziehungstyp automatisch daraus, ob die verwendeten Felder mit einem Unique-Key(ohne Duplikate) indexiert sind.
Wenn das bei beiden der Fall ist, ergibt sich zwangsläufig der Typ 1:1.
Das heißt aber wiederum, dass man die beiden Tabellen genausogut zu einer zusammenfassen könnte. Daher habe ich auch noch nie 1:1 Relationen erstellt.

So ähnlich wie hier habe ich das schon mal programmiert:
(ungetestetes Beispiel)

Die ADOX (msadox.dll) -Reference(Verweis) in VB6 heisst übrigens „Microsoft ADO Ext. 2.8 for DDL and Security“

Private Sub Test()
 'ungetestet!
 Dim cat As ADOX.Catalog
 Dim con As ADODB.Connection
 Dim tbl As ADOX.Table
 Dim key As ADOX.key
 Set cat = New ADOX.Catalog
 con.Open "Provider=Microsoft.Jet.OLEDB.4.0`;Data Source=dtb.mdb"
 Set cat.ActiveConnection = con
 Set tbl = cat.Tables("tblA")
 Set key = New ADOX.key
 With key
 .Name = "rltA\_B"
 .Type = adKeyForeign
 .RelatedTable = "tblB"
 .Columns.Append "idxA"
 .Columns("idxA").RelatedColumn = "idxB"
 .UpdateRule = adRICascade
 .DeleteRule = adRICascade
 End With
 tbl.Keys.Append key
 Set key = Nothing
End Sub