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

    [Resolvido]Relacionamento de tabelas pelo código VBA

    avatar
    marcos alan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 39
    Registrado : 09/11/2009

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  marcos alan 17/1/2010, 11:11

    Bom dia,

    Preciso ligar o mesmo campo de uma tabela num relacionamentos um para muitos a outras 02 tabelas, consegui fazer o relacionamento, mas na prática no momento de criar 01 Formulário com 02 subformulários uma das tabelas quando abastecida pelo preenchimento do subform correspondente apresenta os dados, ao meu ver, de forma equivocada.

    abraços.

    marcos alan.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  Alexandre Neves 17/1/2010, 13:32

    Boa tarde,

    Não indica elementos concretos (nomes de tabelas e nomes e tipo de campos)
    O relacionamento será:

    'todos os registos da tabela 1 com os registos da tabela 2 correspondentes
    SELECT * FROM Tabela1 LEFT JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoY ...

    'todos os registos da tabela 2 com os registos da tabela 1 correspondentes
    SELECT * FROM Tabela1 RIGHT JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoY ...

    'registos da tabela 1 com os registos da tabela 2 apenas em caso de correspondência
    SELECT * FROM Tabela1 INNER JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoY ...
    avatar
    marcos alan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 39
    Registrado : 09/11/2009

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  marcos alan 17/1/2010, 15:47

    Olá Alexandre Neves,

    Desculpa por não entender sua orientação, estou descrevendo abaixo as tabelas:

    1) TabProcesso:
    NumProcesso(ch.prim)=texto)

    2) TabCredor:
    NumProcesso=texto
    Tipo=texto (cx de listagem onde seleciono Cnpj ou CPF)
    Cnpj_CPF(Chave primária)=texto
    NomeCredor=Caixa texto

    3)TabTramitação:
    NumProcesso=texto
    DataEntrada=data/hora
    UnidadeEntrada=texto
    DataSaída=data/hora
    UnidadeSaída=texto

    Assim relacionei os campos (negritos) da seguinte forma: TabProcesso o campo NumProcesso com os campos NumProcesso das outras tabelas (credor e tramitação), isso porque cada Processo normalmente possue mais de 02 credores cadastrados e se movimenta em várias unidades (setores).
    Consegui relacionar, porém na construção do form com origem na TabProcesso com 02 subformulários (tblCredor e TblTramitação) ocorrem conflitos. Será que os erros são de relacionamentos por eu estar relacionando o mesmo campo de 01 tabela com duas outras tabelas?

    Obrigado.

    marcos alan.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  Alexandre Neves 17/1/2010, 17:20

    Pois é! Eu não faço relacionamentos pelo Access (já foi tempo), faço-os directamente no código.
    Experimente este código (veja que tirei os caracteres especiais do nome da tabela):
    SELECT * FROM (TabProcesso LEFT JOIN TabCredor ON TabProcesso.NumProcesso=TabCredor.NumProcesso) LEFT JOIN TabTramitacao ON TabProcesso.NumProcesso=TabTramitacao.NumProcesso;

    Se num formulário apenas trabalha TabProcesso e TabCredor, utilize:
    SELECT * FROM TabProcesso LEFT JOIN TabCredor ON TabProcesso.NumProcesso=TabCredor.NumProcesso;

    Se num formulário apenas trabalha TabProcesso e TabTramitacao, utilize:
    SELECT * FROM TabProcesso LEFT JOIN TabTramitacao ON TabProcesso.NumProcesso=TabTramitacao.NumProcesso;

    Para verificar os resultados, cole os códigos numa nova consulta em vista SQL.
    avatar
    marcos alan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 39
    Registrado : 09/11/2009

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  marcos alan 18/1/2010, 14:04

    Bom dia Alexandre Neves,

    Após pensar e repensar decidi incluir mais 01 tabela, ou melhor, deixei a TblCredor somente com os campos NumProcesso e NomeCredor, e criei a TabCnpjCpf com os demais campos, e como o problema persistia no formXsubform fiz a consulta conforme sua orientação e não entendi o porquê, mas está funcionando muito bem. A consulta era só pra criar as tabelas ou ela tem uma função específica nesse caso?

    obrigado.

    Abçs.

    marcos alan.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  Alexandre Neves 18/1/2010, 22:52

    Boa noite, marcos

    Leia assim:
    SELECT * FROM (TabProcesso LEFT JOIN TabCredor ON TabProcesso.NumProcesso=TabCredor.NumProcesso) LEFT JOIN TabTramitacao ON TabProcesso.NumProcesso=TabTramitacao.NumProcesso;
    ->Seleciona CamposTodos da tabela TabProcesso, junta à esquerda a tabela TabCredor onde o campo TabProcesso.NumProcesso liga-se ao campo TabCredor.NumProcesso e depois junta à esquerda a tabela TabTramitacao onde o campo TabProcesso.NumProcesso liga-se ao campo TabTramitacao.NumProcesso

    Ler uma instrução SQL é mais intuitivo que ver as tabelas e as relações.

    Se num formulário apenas trabalha TabProcesso e TabCredor, utilize:
    SELECT * FROM TabProcesso LEFT JOIN TabCredor ON TabProcesso.NumProcesso=TabCredor.NumProcesso;

    Se num formulário apenas trabalha TabProcesso e TabTramitacao, utilize:
    SELECT * FROM TabProcesso LEFT JOIN TabTramitacao ON TabProcesso.NumProcesso=TabTramitacao.NumProcesso;
    avatar
    marcos alan
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 39
    Registrado : 09/11/2009

    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  marcos alan 20/1/2010, 20:20

    Alexandre Neves, boa noite.

    Achei interessante e estou começando a entender a forma intuitiva que você mencionou para a relação entre os campos da tabela. Vou pesquisar mais sobre o assunto na internet, se tiver alguma sugestão de estudo, por favor me avise.

    Obrigado!

    marcos alan.

    Conteúdo patrocinado


    [Resolvido]Relacionamento de tabelas pelo código VBA Empty Re: [Resolvido]Relacionamento de tabelas pelo código VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:00