Classe ModelRelationship (Excel VBA)

A classe ModelRelationship representa uma relação, atualmente no modelo de dados, entre duas tabelas.

Item

Para usar uma variável de classe ModelRelationship, ela primeiro precisa ser instanciada por exemplo

Dim mrel as ModelRelationship
Set mrel = ActiveWorkbook.Model.ModelRelationships(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo ModelRelationship: ModelRelationships.Add e ModelRelationships.Item.

For Each

Aqui está um exemplo de processamento dos itens ModelRelationship em uma coleção.

Dim mrel As ModelRelationship
For Each mrel In ActiveWorkbook.Model.ModelRelationships
	
Next mrel

Active

Quando true, a relação está ativa. Quando for false, essa relação estará inativa. Boolean de leitura/gravação.

ActiveWorkbook.Model.ModelRelationships(1).Active = True

Delete

Exclui a relação.

ActiveWorkbook.Model.ModelRelationships(1).Delete

ForeignKeyColumn

Contém o objeto ModelTableColumn que representa a coluna de chave estrangeira no lado muitos da relação um-para-muitos. Somente leitura.

Dim mtcForeignKeyColumn As ModelTableColumn
Set mtcForeignKeyColumn = ActiveWorkbook.Model.ModelRelationships(1).ForeignKeyColumn

ForeignKeyTable

Contém o objeto modeltable que representa a tabela no lado muitos da relação um-para-muitos. Somente leitura.

Dim mdltForeignKeyTable As ModelTable
Set mdltForeignKeyTable = ActiveWorkbook.Model.ModelRelationships(1).ForeignKeyTable

PrimaryKeyColumn

Contém o objeto ModelTableColumn que representa a coluna de chave primária na tabela do lado um da relação um-para-muitos.

Dim mtcPrimaryKeyColumn As ModelTableColumn
Set mtcPrimaryKeyColumn = ActiveWorkbook.Model.ModelRelationships(1).PrimaryKeyColumn

PrimaryKeyTable

Contém o objeto modeltable que representa a tabela no lado um da relação um-para-muitos.

Dim mdltPrimaryKeyTable As ModelTable
Set mdltPrimaryKeyTable = ActiveWorkbook.Model.ModelRelationships(1).PrimaryKeyTable

ModelRelationships.Add

Adiciona uma nova relação ao modelo.

Add (ForeignKeyColumn, PrimaryKeyColumn)

Dim mrel As ModelRelationship
Set mrel = ActiveWorkbook.Model.ModelRelationships.Add(ForeignKeyColumn:=, PrimaryKeyColumn:=)

Arguments

O seguinte argumento é opcional

ForeignKeyColumn (ModelTableColumn) - Um objeto ModelTableColumn que representa a coluna de chave estrangeira na tabela no lado muitos da relação um-para-muitos.

PrimaryKeyColumn (ModelTableColumn) - Um objeto ModelTableColumn que representa a coluna de chave primária na tabela em um lado da relação um-para-muitos.

ModelRelationships.Count

Retorna um valor Long que representa o número de objetos ModelRelationship em um objeto ModelRelationships . Somente leitura.

Dim lngCount As Long
lngCount = ActiveWorkbook.Model.ModelRelationships.Count

ModelRelationships.DetectRelationships

Detecta relações de modelo no objeto PivotTable especificado.

DetectRelationships (PivotTable)

PivotTable: A tabela dinâmica na qual as relações de modelo serão detectadas.

ActiveWorkbook.Model.ModelRelationships.DetectRelationships PivotTable:=

ModelRelationships.Item

Retorna um único objeto do objeto ModelRelationships .

Item (Index)

Index: O número de índice do objeto.

Dim mrel As ModelRelationship
Set mrel = ActiveWorkbook.Model.ModelRelationships(Index:=1)