MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Paulo Robilotta
    Paulo Robilotta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 24/09/2010

    Obter os dados sobre o relacionamento existente entre tabelas de um formulário. Empty Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Mensagem  Paulo Robilotta 1/9/2017, 04:08

    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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    Obter os dados sobre o relacionamento existente entre tabelas de um formulário. Empty Re: Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Mensagem  Alexandre Neves 1/9/2017, 13:21

    Boa tarde,
    no relacionamento LEFT, a tadela da direita será a tabela indicada antes do LEFT e a da Esquerda a indicada após
    no relacionamento RIGHT é ao contrário


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    Paulo Robilotta
    Paulo Robilotta
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 43
    Registrado : 24/09/2010

    Obter os dados sobre o relacionamento existente entre tabelas de um formulário. Empty Re: Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Mensagem  Paulo Robilotta 1/9/2017, 18:50

    Alexandre

    Obrigado pela resposta mas o que necessito é um critério para determinar (via VBA) se a tabela é Esquerda ou Direita.
    Ou seja, para que lado a seta aponta (se for o caso) no relacionamento entre as tabelas.


    Abraço

    Paulo
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8443
    Registrado : 05/11/2009

    Obter os dados sobre o relacionamento existente entre tabelas de um formulário. Empty Re: Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Mensagem  Alexandre Neves 1/9/2017, 23:16

    isso nunca fiz


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    Obter os dados sobre o relacionamento existente entre tabelas de um formulário. Empty Re: Obter os dados sobre o relacionamento existente entre tabelas de um formulário.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 14:15