내가 DAO을 사용합니다 감사합니다. 나는 C#을에서 실행 할 코드가없는 있지만, VBA 예제는 여기에 단계가 필요 보여해야합니다
' Creates and appends missing relations between the local tables.
' Note, that this will create a hidden index on the foreign table field.
' Returns True if success, False if not.
'
' 2017-11-14. Gustav Brock. Cactus Data ApS, CPH.
'
Public Function CreateLocalDataTableRelations() As Boolean
Dim Database As DAO.Database
Dim Field As DAO.Field
Dim Relation As DAO.Relation
Dim Table As DAO.TableDef
Dim ForeignTable As DAO.TableDef
Dim RelationName As String
Dim Result As Boolean
Set Database = CurrentDb
Set Table = Database.TableDefs("Country")
Set ForeignTable = Database.TableDefs("Zone")
RelationName = Table.Name & "_" & ForeignTable.Name
If Not IsTableRelation(RelationName) Then
' Create and append relation RelationName.
Set Relation = Database.CreateRelation(RelationName)
Relation.Table = Table.Name
Relation.ForeignTable = ForeignTable.Name
Relation.Attributes = dbRelationUpdateCascade
Set Field = Relation.CreateField("Code")
Field.ForeignName = "CountryCode"
Relation.Fields.Append Field
Database.Relations.Append Relation
End If
Set Table = Database.TableDefs("Zone")
Set ForeignTable = Database.TableDefs("Timezone")
RelationName = Table.Name & "_" & ForeignTable.Name
If Not IsTableRelation(RelationName) Then
' Create and append relation RelationName.
Set Relation = Database.CreateRelation(RelationName)
Relation.Table = Table.Name
Relation.ForeignTable = ForeignTable.Name
Relation.Attributes = dbRelationUpdateCascade
Set Field = Relation.CreateField("ZoneId")
Field.ForeignName = "ZoneId"
Relation.Fields.Append Field
Database.Relations.Append Relation
End If
Result = (Err.Number = ErrorNone)
CreateLocalDataTableRelations = Result
End Function
및 도우미 기능 : 내가 이론적으로 한 의미
' Checks if a relation named RelationName exists.
' Returns True if it is found, False if not.
'
' 2017-11-14. Gustav Brock. Cactus Data ApS, CPH.
'
Public Function IsTableRelation(_
ByVal RelationName As String) _
As Boolean
Dim Relation As DAO.Relation
Dim Result As Boolean
For Each Relation In CurrentDb.Relations
If Relation.Name = RelationName Then
Exit For
End If
Next
Result = Not (Relation Is Nothing)
IsTableRelation = Result
End Function
을 데이터 무결성이 확정되면서 , 외래 키 오류가 없으므로 아무 것도 볼 수 없으므로 – SaggingRufus
올바른 키가있는 테이블을 만든 다음 다른 프로그램의 관계를 수행 할 수 있습니까? @ SaggingRufus 당신이 내게 예제 또는 링크를주세요 수 – user2038084
이런 걸까요? http://www.c-sharpcorner.com/forums/creating-relations-in-ms-access-with-c-sharp – SaggingRufus