Objetivo : Obter os dados sobre o relacionamento existente entre tabelas de um formulário.
Os dados sobre o Relacionamento entre as tabelas do formulário na coleção Relations eu já tenho.
Abaixo a cópia da janela imediata resultado da função que eu criei:
====================================
>>> Relacionamento para : tabFiltros
>> Nome da relação : tabFiltrostabDados
>> Tabela : tabFiltros
> Chave Primária : ExemploAutoNum
JOIN : Left
> ATRIBUTOS
Relação : 1:1
Integridade Referencial : SIM
Propaga atualização : SIM
Propaga exclusão : SIM
====================================
>>> Relacionamento para : tabDados
>> Nome da relação : tabFiltrostabDados
>> Tabela : tabDados
> Estrangeira : Idfiltros
JOIN : Left
> ATRIBUTOS
Relação : 1:1
Integridade Referencial : SIM
Propaga atualização : SIM
Propaga exclusão : SIM
=====================================
No entanto, com esses dados não consegui deduzir quem é tabela Esquerda e qual a Direita da relação.
Na janela Relacionamentos aparece a seguinte relação: tabFiltros.ExemploAutoNum | 1 > 1 | tabDados.Idfiltro
Para tentar entender essa questão, apliquei a função com diferentes relações da coleção Relations entre diferentes tabelas e observando
os resultados verifiquei que:
1) A tabela Esquerda da relação é sempre a que tem a chave primária.
2) Que o nome dado automaticamente para a relação (tabFiltrostabDados) é a concatenação dos nomes da tabela Esquerda com a
tabela Direita.
Uma primeira pergunta : Essas observações estão corretas ? Em especial a do ítem 1. A do ítem 2 eu sei que não necessariamente pois a
relação pode ter sido criada pelo usuário e o nome dado para a relação é arbitrário.
Se não estiverem, há como obter a informação Esquerda X Direita ?
Uma segunda pergunta, agora relacionada diretamente ao meu objetivo : Existe uma forma de se obter esses mesmos dados para a
relação entre as tabelas que são Origem do Registro de um Formulário (que não necessariamente são as definidas na coleção
Relations).
Uma primeira possibilidade que imaginei seria decompor as cláusulas da SQL que é a origem do registro e através da análise da
cláusula FROM deduzir as características da relação. Essa solução meio "força bruta" não me agrada dada a infinidade de sintaxes
possíveis da SQL e dos erros imprevistos que isso pode gerar.
Se fosse para uso próprio eu contornaria essas questões por minha conta. No caso, pretendo usar essas informações para aprimorar e
aumentar as funcionalidades de um exemplo de uso geral sobre filtros sequenciais a se distribuído no meu blog.
https://accessporexemplo.wordpress.com/
Agradeço antecipadamente
Paulo
Os dados sobre o Relacionamento entre as tabelas do formulário na coleção Relations eu já tenho.
Abaixo a cópia da janela imediata resultado da função que eu criei:
====================================
>>> Relacionamento para : tabFiltros
>> Nome da relação : tabFiltrostabDados
>> Tabela : tabFiltros
> Chave Primária : ExemploAutoNum
JOIN : Left
> ATRIBUTOS
Relação : 1:1
Integridade Referencial : SIM
Propaga atualização : SIM
Propaga exclusão : SIM
====================================
>>> Relacionamento para : tabDados
>> Nome da relação : tabFiltrostabDados
>> Tabela : tabDados
> Estrangeira : Idfiltros
JOIN : Left
> ATRIBUTOS
Relação : 1:1
Integridade Referencial : SIM
Propaga atualização : SIM
Propaga exclusão : SIM
=====================================
No entanto, com esses dados não consegui deduzir quem é tabela Esquerda e qual a Direita da relação.
Na janela Relacionamentos aparece a seguinte relação: tabFiltros.ExemploAutoNum | 1 > 1 | tabDados.Idfiltro
Para tentar entender essa questão, apliquei a função com diferentes relações da coleção Relations entre diferentes tabelas e observando
os resultados verifiquei que:
1) A tabela Esquerda da relação é sempre a que tem a chave primária.
2) Que o nome dado automaticamente para a relação (tabFiltrostabDados) é a concatenação dos nomes da tabela Esquerda com a
tabela Direita.
Uma primeira pergunta : Essas observações estão corretas ? Em especial a do ítem 1. A do ítem 2 eu sei que não necessariamente pois a
relação pode ter sido criada pelo usuário e o nome dado para a relação é arbitrário.
Se não estiverem, há como obter a informação Esquerda X Direita ?
Uma segunda pergunta, agora relacionada diretamente ao meu objetivo : Existe uma forma de se obter esses mesmos dados para a
relação entre as tabelas que são Origem do Registro de um Formulário (que não necessariamente são as definidas na coleção
Relations).
Uma primeira possibilidade que imaginei seria decompor as cláusulas da SQL que é a origem do registro e através da análise da
cláusula FROM deduzir as características da relação. Essa solução meio "força bruta" não me agrada dada a infinidade de sintaxes
possíveis da SQL e dos erros imprevistos que isso pode gerar.
Se fosse para uso próprio eu contornaria essas questões por minha conta. No caso, pretendo usar essas informações para aprimorar e
aumentar as funcionalidades de um exemplo de uso geral sobre filtros sequenciais a se distribuído no meu blog.
https://accessporexemplo.wordpress.com/
Agradeço antecipadamente
Paulo