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]Relacionar Dados de uma Consulta

    avatar
    diegok
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 09/05/2020

    [Resolvido]Relacionar Dados de uma Consulta Empty [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  diegok 9/5/2020, 20:22

    Olá pessoal, boa tarde.

    Estou usando o tempo em quarentena pra aprender sobre Access, e realmente é maravilhoso o que essa ferramenta pode fazer.
    Estou criando algumas ferramentas para auxiliar no dia-a-dia, e uma delas tem o objetivo de me informar quais itens produzidos estão faltando para a montagem do produto acabado.

    Todo dia recebo via planilha excel quais são os componentes faltantes para a montagem, porém, esses componentes possuem subcomponentes que podem ou estar no estoque de componentes para montagem (MONT), ou em qualquer outro local da fábrica (PROD).

    [Resolvido]Relacionar Dados de uma Consulta Exempl10

    Exemplo acima: a estrutura produto tem dois componentes, em que pelos níveis um é subproduto do outro.

    Recebo também todos os dias um relatório com os estoques por LOCAL. No entanto esse relatório mostra apenas os itens que possuem ao menos 1 pç em estoque.Se um dos itens não tem estoque, ele não aparece no relatório.

    Sendo assim, criei uma consulta que pretende cruzar as informações da estrutura, com os locais e quantidade de estoque, porém, obviamente a consulta ignora os registros não existentes na tabela de estoque. Meu objetivo é saber quantas peças tenho disponíveis pra montagem (MONT), e quantas outras ainda em processo pra poder priorizar.

    Tentei procurar algo aqui no fórum (função NZ, Selmed, etc.) mas até agora não consegui.
    Seria algo tipo o SOMASE do excel, que somaria da tabela de estoques a quantidade no estoque PROD, e aqueles sem estoque seriam 0.

    Me perdoem o tamanho do post, é a minha primeira postagem e tentei passar a maior quantidade de detalhes possível.

    SQL:

    SELECT [Lista Técnica].CodItem, Estoques.LocalEstoque, Estoques.QtdEstoque
    FROM [Lista Técnica] INNER JOIN Estoques ON [Lista Técnica].CodItem = Estoques.Cod_Item;

    Obrigado desde já!
    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

    [Resolvido]Relacionar Dados de uma Consulta Empty Re: [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  Alexandre Neves 10/5/2020, 10:39

    Bom dia e bem-vindo ao fórum
    Mande bd com tabelas preenchidas com dados representativos das situações pretendidas e descreva tudo o que pretende em cada situação


    .................................................................................
    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
    avatar
    diegok
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 09/05/2020

    [Resolvido]Relacionar Dados de uma Consulta Empty Re: [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  diegok 10/5/2020, 14:16

    Olá Alexandre, obrigado.O arquivo está anexado.

    A tabela "Estrutura Produtos" mostra os registros dos produtos acabados e os seus respectivos componentes.

    A tabela "Estoques" contém os estoques de cada produto acabado/componentes e seus respectivos locais. Como é uma tabela gerada pelo sistema, essa ela contém apenas os itens que possuem estoques > 0.

    Criei uma consulta chamada "Componentes Faltantes" para saber os estoques de cada item acabado e de cada componente, e após isso cruzar com outra informação dos produtos faltantes para completar os pedidos dos clientes.

    O que preciso é que:

    1. A consulta "Componentes Faltantes" retorne os registros de todos os itens da tabela "Estrutura Produtos", até mesmo aqueles que não possuem dados na tabela "Estoques", nesse caso retornando o total de 0.

    2. Que as quantidades somadas sejam apenas de dois locais específicos (EUA e MONT) da coluna [LocalEstoque] da tabela "Estoques". Mas que esse dado apareça consolidado para cada item, e não em um registro específico.

    Valeu!
    Anexos
    [Resolvido]Relacionar Dados de uma Consulta AttachmentBD_exemplo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (434 Kb) Baixado 5 vez(es)
    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

    [Resolvido]Relacionar Dados de uma Consulta Empty Re: [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  Alexandre Neves 10/5/2020, 18:14

    Boa tarde
    Normalize os nomes, não utilize espaços nos nomes de tabelas
    Consulta em modo SQL
    SELECT *, IIf(IsNull((SELECT Sum(QtdEstoque) FROM Estoques WHERE LocalEstoque IN ('EUA','MONT') and Cod_Item=EstruturaProdutos.CodComponente)),0,(SELECT Sum(QtdEstoque) FROM Estoques WHERE LocalEstoque IN ('EUA','MONT') and Cod_Item=EstruturaProdutos.CodComponente)) AS Stock
    FROM EstruturaProdutos


    .................................................................................
    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
    avatar
    diegok
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 09/05/2020

    [Resolvido]Relacionar Dados de uma Consulta Empty Re: [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  diegok 10/5/2020, 21:24

    Deu certo, obrigado!.


    EDIT:

    Alexandre, desculpe-em ressuscitar esse tópico. Utilizei a lógica descrita no exemplo acima no meu BD Original e obtive os dados desejados. No entanto, a consulta ficou bastante "lenta". Inicialmente achei que pela quantidade de registros, porém, mesmo no BD de exemplo, com poucos registros há uma lentidão. Isso é normal?

    Pretendo usar a consulta para alimentar um formulário + subformulários com os dados organizados para melhor visualização, mas com a lentidão fica mais difícil. Pensei então, a partir da consulta criar uma tabela temporário para alimentar os formulários, mas o sistema fica "em loop" e não cria a tabela.

    Abs.
    Anexos
    [Resolvido]Relacionar Dados de uma Consulta AttachmentBD_exemplo_v2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (552 Kb) Baixado 9 vez(es)

    Conteúdo patrocinado


    [Resolvido]Relacionar Dados de uma Consulta Empty Re: [Resolvido]Relacionar Dados de uma Consulta

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 06:40