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]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    avatar
    gtpsp
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/11/2013

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  gtpsp 6/1/2022, 20:04

    Olá a todos!

    Me deparei com um problema que não estou conseguindo encontrar o erro, e recorro a ajuda dos mestres.

    Tenho uma aplicação antiga que usa o banco de dados mysql com tabelas e views vinculadas no access, o problema que encontrei esta em uma view especifica, no banco de dados mostra os valores de forma correta, porem vinculada ao access ela mostra dados diferentes, abaixo imagens

    obs.: (dados para calculo do custo da estrutura dos produtos, que utiliza diversas views para calcular os dados - v_prodpeca, v_prodsubproduto, v_prodembalagem, v_prodmp e v_produsinagemtotal)


    Banco mysql
    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Mysql10

    estrutura do select no banco

    Código:

    select `altasystem`.`pr06produtos`.`pr06idprod` AS `pr06idprod`,`altasystem`.`pr06produtos`.`pr06idfilial` AS `pr06idfilial`,`altasystem`.`pr06produtos`.`pr06tipo` AS `pr06tipo`,`altasystem`.`pr06produtos`.`pr06codprod` AS `pr06codprod`,`altasystem`.`pr06produtos`.`pr06descrprod` AS `pr06descrprod`,`altasystem`.`pr07composicao`.`pr07nitem` AS `pr07nitem`,`altasystem`.`pr07composicao`.`pr07idproditem` AS `pr07idproditem`,`altasystem`.`pr07composicao`.`pr07itemtipo` AS `pr07itemtipo`,
    if(`v_prodpecastotal`.`pcvlmattotal` > 0,`v_prodpecastotal`.`pcvlmattotal`,if(`v_prodsubprodutototal`.`sbvlmattt` > 0,`v_prodsubprodutototal`.`sbvlmattt`,if(`v_prodembalagemtotal`.`embvlmattt` > 0,`v_prodembalagemtotal`.`embvlmattt`,if(`v_prodmp`.`vlmat` > 0,`v_prodmp`.`vlmat`,0)))) AS `lmvlmatunit`,
    ...
    if(`v_prodpecastotal`.`pcpliquidototal` > 0,`v_prodpecastotal`.`pcpliquidototal` * `altasystem`.`pr07composicao`.`pr07qtdeliquida`,if(`v_prodsubprodutototal`.`sbpliqutt` > 0,`v_prodsubprodutototal`.`sbpliqutt` * `altasystem`.`pr07composicao`.`pr07qtdeliquida`,if(`v_prodembalagemtotal`.`embpliqutt` > 0,`v_prodembalagemtotal`.`embpliqutt` * `altasystem`.`pr07composicao`.`pr07qtdeliquida`,if(`v_prodmp`.`pliqu` > 0,`v_prodmp`.`pliqu` * `altasystem`.`pr07composicao`.`pr07qtdeliquida`,0)))) AS `lmpliquidototal`
    from ((((((`altasystem`.`pr06produtos`
    left join `altasystem`.`pr07composicao` on(`altasystem`.`pr06produtos`.`pr06idprod` = `altasystem`.`pr07composicao`.`pr07idprod`))
    left join `altasystem`.`v_produsinagemtotal` on(`altasystem`.`pr06produtos`.`pr06idprod` = `v_produsinagemtotal`.`pr07idprod`))
    left join `altasystem`.`v_prodsubprodutototal` on(`altasystem`.`pr07composicao`.`pr07idproditem` = `v_prodsubprodutototal`.`pr06idprod`))
    left join `altasystem`.`v_prodmp` on(`altasystem`.`pr07composicao`.`pr07idproditem` = `v_prodmp`.`pr06idprod`))
    left join `altasystem`.`v_prodembalagemtotal` on(`altasystem`.`pr07composicao`.`pr07idproditem` = `v_prodembalagemtotal`.`pr06idprod`))
    left join `altasystem`.`v_prodpecastotal` on(`altasystem`.`pr07composicao`.`pr07idproditem` = `v_prodpecastotal`.`pr06idprod`))
    where `altasystem`.`pr06produtos`.`pr06tipo` = 'LM' and `altasystem`.`pr07composicao`.`pr07itemtipo` <> 'servico'
    order by `altasystem`.`pr06produtos`.`pr06idprod`,`altasystem`.`pr06produtos`.`pr06tipo`,`altasystem`.`pr07composicao`.`pr07nitem`

    View Vinculada no access
    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Vincul10

    Observem o campo pr06idproditem, na view executada no banco mostra com os respectivos itens e a mesma view vinculada ao access mostra a mesma quantidade de itens porem repete para todos os registros os dados do primeiro.

    Tenho a mesma consulta criada no access que retorna da mesma forma que o mysql, porem por problema de performance não é viável.

    Alguma sugestão?

    Obrigado!!
    avatar
    gtpsp
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/11/2013

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty Re: [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  gtpsp 7/1/2022, 20:44

    Alguem tem alguma sugestão do por que desse erro, pois fiz um teste importando a view para o access e os dados vem da forma correta, somente quando esta vinculado que não?
    se preciso posso enviar o banco de dados completo para que alguem vincule essa view epecifica no access para ver se o problema ocorre..


    Obrigado!!!
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty Re: [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  Avelino João 8/1/2022, 08:13

    Bom dia tenta usar o
    Código:
    select distinct


    Optimo site para o estudo SQL DISTINCT


    .................................................................................
    Proaccess - Angola

    gtpsp gosta desta mensagem

    avatar
    Cdeividi
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 26/05/2015

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty Re: [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  Cdeividi 8/1/2022, 15:08

    Exatamente selecta distinct,ele filtra e somente busca os dados diferentes

    gtpsp gosta desta mensagem

    avatar
    gtpsp
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/11/2013

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty Re: [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  gtpsp 8/1/2022, 15:25

    Avelino João, Bom dia!

    Li o tutorial e fiz conforme voce sugeriu, porem continua da mesma forma, tentei usar o group by pr07idproditem e retorna o resultado errado quando vinculado ao access.
    Reforço que  no banco de dados mysql a query retorna de forma correta, o erro ocorre apenas quando eu vinculo a tabela no access pois ele retorna a quantidade exata de registros da estrutura do produto repetindo o primeiro pr07idproditem em todas as linhas, se eu faço a importação da view para o access ele tras com o mesmo resultado do bd.

    Utilizo o Access 2010 32bits

    Obrigado!
    avatar
    gtpsp
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 38
    Registrado : 01/11/2013

    [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB. Empty Re: [Resolvido]View mysql vinculada ao access tras resultados diferentes do que mostra no DB.

    Mensagem  gtpsp 11/1/2022, 01:33

    Boa noite a todos.

    Consegui descobrir o meu erro, no access quando vinculamos as views é aberta uma janela para selecionar o id da query, eu estava selecionando somente o id do pai , fiz novamente o vinculo da tabela e selecionei o id do pai e o id do filho que ambos juntos são únicos, e tambem fiz um teste não selecionando nenhum e em ambos os dois casos trouxe os registros corretos de acordo com a view do mysql.

    Agradeço a todos pelas dicas.

    Avelino João e ipelatti gostam desta mensagem


      Data/hora atual: 5/12/2022, 00:48