Veja se ajuda:
Autor: Ivan Coelho
Código para criar e excluir relacionamento (Adaptado do Help Access).
Coloque este código num Módulo.
Public Function CriaRelacionamento(strTblUm As String, strTblMuitos As String, strCampoUm As String, strCampoMuitos As String)
Dim dbs As Database
Dim fld As Field, rel As Relation
' Retorna referência ao banco de dados atual.
Set dbs = CurrentDb
' Cria novo relacionamento e define suas propriedades.
Set rel = dbs.CreateRelation(strTblUm & strTblMuitos, strTblUm, strTblMuitos)
' Define atributos do objeto Relation para impor integridade referencial.
rel.Attributes = dbRelationUpdateCascade
' Cria campo na coleção Fields do objeto Relation.
Set fld = rel.CreateField(strCampoUm)
' Fornece nome do campo de chave estrangeira.
fld.ForeignName = strCampoMuitos
' Acrescenta campo ao objeto Relation e o objeto Relation ao banco de dados.
rel.Fields.Append fld
dbs.Relations.Append rel
MsgBox "Relação '" & rel.Name & "' criada."
Set dbs = Nothing
End Function
Public Function ExcluiRelacionamento(strTblUm As String, strTblMuitos As String)
Dim dbs As Database
Dim rel As Relation
' Retorna referência ao banco de dados atual.
Set dbs = CurrentDb
' Localiza a relação existente.
For Each rel In dbs.Relations
If rel.Table = strTblUm And rel.ForeignTable = strTblMuitos Then
' Avisa ao usuário antes de excluir a relação.
If MsgBox(rel.Name & " já existe. " & vbCrLf _
& "Essa relação será excluída.", vbOK) = vbOK Then
dbs.Relations.Delete rel.Name
' Se o usuário escolheu Cancelar, sai do procedimento.
Else
Exit Function
End If
End If
Next rel
Set dbs = Nothing
End Function
Para chamar a funcão faça o seguinte:
' Cria Relacionamento
Call CriaRelacionamento("Tabela1", "Tabela2", "CampoTabela1", "CampoTabela2")
'Exclui Relacionamentos
Call ExcluiRelacionamento("Tabela1", "Tabela2")
Note que para criar os relacionamentos você precisa saber quais tabelas são de Relacionamento "Um para Muitos".
Tabela1=Relacionamento de "Um"
Tabela2=Relacionamento "Para Muitos"