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


3 participantes

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 20/12/2015, 14:57

    Boa Tarde a todos!
    Estou criando um BD para agilizar meu trabalho, e esbarrei em um problema com uma consulta. Tenho três tabelas: Dados (aqui fica a maioria dos dados), Autor e Vitima. Tipo de Relacionamento: Cada linha da tabela Dados pode ter vários registros de Autor e de Vitima.
    Acontece que ao realizar uma consulta para listar os campos Dados.NºIPL, Autor.Nome_Autor, Vitima.Nome_Vitima a consulta duplica os dados. Ex: 3 registros na tabela Autor e 2 Registros na tabela Vitima
    ( Imagem exemplo: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros 2jbme5h ).

    SQL da consulta:
    SELECT DADOS.NºIPL, AUTOR.Nome_autor, VITIMA.Nome_Vitima
    FROM (DADOS LEFT JOIN AUTOR ON DADOS.ID = AUTOR.Cod_Reg) LEFT JOIN VITIMA ON DADOS.ID = VITIMA.Cod_Reg;

    Ja testei: Todos os JOIN e DISTRACT.

    Sou iniciante no Access, peço a compreensão de todos.

    Obs: Como a imagem não esta sendo exibida segue o Link no Google Drive: https://drive.google.com/file/d/0BwPmgbAs0bSVWWx4aFRjTkZhblE/view?usp=sharing
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 20/12/2015, 20:59

    Boa noite,
    Disponibilize dados para trabalhar


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 21/12/2015, 00:09

    Segue BD para Teste.
    Anexos
    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros AttachmentBD.zip
    Segure o Shift ao abrir o BD
    Você não tem permissão para fazer download dos arquivos anexados.
    (64 Kb) Baixado 46 vez(es)
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Assis 21/12/2015, 10:54

    Bom dia

    Na BD que postou em que tabela estão os dados assinalados com o circulo ?

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros 205e8aw


    .................................................................................
    *** Só sei que nada sei ***
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 21/12/2015, 13:06

    Bom dia!
    O campo Dados.[Nºipl] esta da tabela Dados.
    No BD que postei tem apenas um registro Com NºIPL "002/2015".

    Os Dados da vitima estão na tabela Vitima e de Autor na Tabela Autor.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 24/12/2015, 12:40

    Nihguem senhores?
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 26/12/2015, 19:59

    Boa noite,
    Indique que resultado para os dados que disponibilizou e explique a lógica de apresentação e relacionamento


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 26/12/2015, 20:41

    Bom, Para cada NºIPL Poderá haver Mais de Uma Vítima e Mais de um Autor. Dessa forma o relacionamento é Um registro da tabela Dados para Muitos da tabela Vitima e Muitos da Tabela Autor.

    Tenho a Necessidade de Imprimir um Relatório com os Valores da Tabela DADOS, Vitima e Autor, referente a Cada Numero de IPL.

    O problema é: Quando eu tenho Um registro na tabela Autor e um na Vitima para um mesmo numero de IPL, os dados aparecem normal. Mas quando eu tenho Mais de Tres autores e Duas vitimas, os dados aparecem no relatório Duplicados. Igual na Imagem que postei.
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 27/12/2015, 14:37

    Boa tarde
    Para os dados disponibilizados, explique o resultado da consulta


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 27/12/2015, 16:33

    Boa Tarde, no BD disponibilizado, gostaria que a Consulta "DADOS Consulta" mostrasse o resultado de acordo com essa Imagem:
    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros 345ilvc

    Porem ao executar ela esta REPETINDO valores. (os valores não estão repetidos na Tabela, apenas a consulta esta mostrando repetido) ex:
    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Fp153t



    Pesquisei muito sobre isso e não achei nada referente... Não tem problema se precisar incluir campo ou ate excluir...

    A necessidade dessa consulta é que vou criar um relatorio onde mostrará  todos os dados Referente ao Registro NºIPl da Tabela Dados.

    Grato.
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 27/12/2015, 20:26

    Não esclareceu a regar de consulta
    Veja que, para o relacionamento entre as tabelas, daria

    SELECT DADOS.NºIPL, AUTOR.Nome_autor, VITIMA.Nome_Vitima
    FROM (DADOS LEFT JOIN AUTOR ON DADOS.ID = AUTOR.Cod_Reg) LEFT JOIN VITIMA ON DADOS.ID = VITIMA.Cod_Reg;

    E não aparece nenhum registo duplicado


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 27/12/2015, 21:05

    Desculpe Alexandre, nao estou entendendo...
    Quando executo a consulta ele mostra dessa forma:
    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Fp153t
    Mas se você observar na Tabela Autor só existem Quatro Registros, e na consulta mostra 8 registros. Ele repete cada Registro da tabela AUTOR duas vezes.
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 27/12/2015, 21:13

    Nenhuma linha está repetida
    cada autor (4) se relaciona com cada vítima(2), dando 8 linhas
    Qual o critério para excluir alguma linha?


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 27/12/2015, 21:25

    Esse é o problema, eu não consigo pensar em nada para isso. Pois na verdade as tabelas AUTO e VITIMA não se relacionam entre si. Elas se relacionam apenas com a Tabela Dados. Há alguma forma de obter os dados dessa Forma?

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros 345ilvc

    Desde já agradeço pela Atençao.
    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]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Alexandre Neves 27/12/2015, 21:57

    Relacionar cada vítima para cada autor dará 8 linhas. Cada autor tem 2 registos na tabela vitima!
    Ela não relaciona cada vitima para cada autor, não vejo lógica na correspondência entre autor e vítima
    Porquê cada vítima se liga com esse autor e não com outro?

    Crie uma tabela para receber os dados, com os campos IPL, Nome_Autor e Nome_Vitima
    Execute este código
    Código:
    Sub PreencheTabelaAutorVitima()
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        '  código criado por Alexandre Neves, do Fórum MaximoAccess                                                '
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        Dim RstTabela As DAO.Recordset, RstConsulta As DAO.Recordset
       
        CurrentDb.Execute "DELETE * FROM tblAutorVitima"
        CurrentDb.Execute "INSERT INTO tblAutorVitima SELECT [NºIPL] as IPL, Nome_autor FROM Dados LEFT JOIN Autor ON Dados.Id=Autor.Cod_Reg"
        Set RstTabela = CurrentDb.OpenRecordset("SELECT * FROM tblAutorVitima")
        Set RstConsulta = CurrentDb.OpenRecordset("SELECT [NºIPL] as IPL, Nome_Vitima FROM Dados LEFT JOIN Vitima ON Dados.Id=Vitima.Cod_Reg")
        Do While Not RstConsulta.EOF
            RstTabela.MoveFirst
            RstTabela.FindLast "IPL='" & RstConsulta("IPL") & "' and IsNull(Nome_Vitima)"
            If Not RstTabela.NoMatch Then
                RstTabela.Edit
                RstTabela("Nome_Vitima") = RstConsulta("Nome_Vitima")
                RstTabela.Update
            End If
            RstConsulta.MoveNext
        Loop
        Set RstTabela = Nothing
        Set RstConsulta = Nothing
    End Sub


    .................................................................................
    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
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  FabioPaes 28/12/2015, 01:52

    Boa Noite Alexandre, Agradeço pela atenção. Como sou iniciante, não entendi muito seu código. Porém, entendi sua linha de Raciocínio, então Juntei os campos das duas tabelas e o Problema sera resolvido.

    Grato a Todos pela atenção.

    Conteúdo patrocinado


    [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros Empty Re: [Resolvido]Consulta com 3 tabelas vinculadas duplicando registros

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 09:20