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


4 participantes

    Query para retornar materiais que possuem estoque menor que o estoque mínimo

    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 29/9/2012, 02:31

    de cada fábrica e armazém...

    E também trazer nessa consulta o fornecedor que oferece esse material no menor preço da unidade.

    Tenho esse BD relacionado certinho, com os material, fornecedor, armazem e fabrik.

    O resultado desta consulta deve conter os campos Nome Da Fabrica, Nome Do Armazém, Material e o Preço do Material.

    como faço pra trazer tudo isso em uma query certinho?

    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 29/9/2012, 15:53

    Pelo que pesquisei, é um INNER JOIN.

    Estou pesquisando muito aqui sobre INNER JOIN e não estou conseguindo aplicar.

    Alguém pode me ajudar?
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  criquio 29/9/2012, 16:12

    Você pode usar algo assim no critério do campo para retornar os que tem menos que o mínimo:

    < [CampoQuantidadeMínima]

    E assim para ter o nome do fornecedor mais barato:

    =DLookup("NomeEmpresa";"tblEmpresas";"Preço=" & DMin("NomeEmpresa";"tblEmpresas"))

    Se bem entendi, seria isso.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 29/9/2012, 17:19

    O problema é que quero trazer as fábricas e armazéns que estão em tabelas diferentes, porém quero trazer em uma só coluna da consulta.

    Armazéns juntos com as fábricas na coluna.


    Muito obrigado, Criquio.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Consulta união

    Mensagem  Cláudio Más 29/9/2012, 20:54

    Vê se é isso:

    Código:
    SELECT Unidade, Material, Min(Preço) AS PreçoUnit
    FROM

    (SELECT Armazem.Armazem AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço
    FROM Armazem INNER JOIN ((Material INNER JOIN MaterialArmazem ON Material.CÓDIGO = MaterialArmazem.Material_CÓDIGO) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material) ON Armazem.CÓDIGO = MaterialArmazem.Armazem_CÓDIGO
    WHERE (((MaterialArmazem.Estoque)<[EstoqueMinimo]))

    UNION ALL SELECT Fabrica.Fabrica AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço
    FROM Fabrica INNER JOIN ((Material INNER JOIN MaterialFabrica ON Material.CÓDIGO = MaterialFabrica.Material) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material) ON Fabrica.CÓDIGO = MaterialFabrica.Fabrica
    WHERE (((MaterialFabrica.Estoque)<[EstoqueMinimo]))) união

    GROUP BY Unidade, Material
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 29/9/2012, 21:00

    Massa!


    Tem como trazer também o nome do fornecedor?

    Muito obrigado!
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Dever de casa

    Mensagem  Cláudio Más 30/9/2012, 14:51

    Tem sim, adapte os trechos abaixo incluindo o nome do fornecedor, depois substitua na instrução final que passei na mensagem anterior:

    Código:
    SELECT Armazem.Armazem AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço
    FROM Armazem INNER JOIN ((Material INNER JOIN MaterialArmazem ON Material.CÓDIGO = MaterialArmazem.Material_CÓDIGO) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material) ON Armazem.CÓDIGO = MaterialArmazem.Armazem_CÓDIGO
    WHERE (((MaterialArmazem.Estoque)<[EstoqueMinimo]))

    E também:

    Código:
    SELECT Fabrica.Fabrica AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço
    FROM Fabrica INNER JOIN ((Material INNER JOIN MaterialFabrica ON Material.CÓDIGO = MaterialFabrica.Material) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material) ON Fabrica.CÓDIGO = MaterialFabrica.Fabrica
    WHERE (((MaterialFabrica.Estoque)<[EstoqueMinimo]))
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 30/9/2012, 15:08

    Só fazendo pelo SQL?

    Tem como dar um "passo" fazendo pelo design de consulta e só ajeitar algumas coisas para fazer a união?

    Muito obrigado.
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 30/9/2012, 16:04

    Quando eu coloco fornecedores e junta, vai pra 40000 registros? Tem algo errado? :s
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Alexandre Neves 30/9/2012, 20:26

    Boa noite, field
    Descreva o que pretende


    .................................................................................
    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
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 30/9/2012, 20:40

    Tenho um banco de dados que possui fornecedores, fabriks, armazens e materiais.

    Existem as tabelas relacionadas, MateriaisFornecedores, MateriaisArmazens e MateriaisFabricas.

    A partir desses dados, eu quero trazer para as fábriks e armazéns em uma só coluna que possuem o material com estoque abaixo do estoque mínimo, trazer o fornecedor que fornece o material com o menor preço.
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 30/9/2012, 20:45

    O que o Cláudio Más fez está certo, porém eu quero saber os passos para montar a consulta sem SQL.

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Alexandre Neves 30/9/2012, 21:03

    Se pretende sem SQL, não o poderei ajudar, aliás, trata-se de consulta uniã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
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 30/9/2012, 21:12

    Sim, pode ser com SQL.


    Mas tem como pegar uma boa parte do código sem SQL e depois acrescentar algumas coisas com o SQL, né?

    Me ajuda, por favor. Razz

    Obrigado.
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 1/10/2012, 02:38

    Acrescentei o nome do fornecedor e olha como ficou


    SELECT união.Unidade, união.Material, Min(união.Preço) AS PreçoUnit, união.Fornecedor
    FROM (SELECT Armazem.Armazem AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço, Fornecedores.Fornecedor
    FROM (Material INNER JOIN (Armazem INNER JOIN MaterialArmazem ON Armazem.CÓDIGO = MaterialArmazem.Armazem_CÓDIGO) ON Material.CÓDIGO = MaterialArmazem.Material_CÓDIGO) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material
    WHERE (((MaterialArmazem.Estoque)<[EstoqueMinimo]))

    UNION ALL SELECT Fabrica.Fabrica AS Unidade, Material.Material, MaterialFornecedor.PrecoUnit AS Preço, Fornecedores.Fornecedor
    FROM (Material INNER JOIN (Fabrica INNER JOIN MaterialFabrica ON Fabrica.CÓDIGO = MaterialFabrica.Fabrica) ON Material.CÓDIGO = MaterialFabrica.Material) INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material
    WHERE (((MaterialFabrica.Estoque)<[EstoqueMinimo]))) AS união
    GROUP BY união.Unidade, união.Material, união.Fornecedor;


    Traz 40000 registros. Alguma solução, Cláudio Más?
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Solução?

    Mensagem  Cláudio Más 1/10/2012, 12:26

    Se existem 43 fornecedores, 15 materiais e um monte de armazens e fabricas, esse numero deve estar correto (40.000 registros).
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 1/10/2012, 13:08

    Mas na lista mostra fábricas e materiais repetidos.


    Quero que não repita e traga o fornecedor que vende o material com menor preço.

    Obrigado, Cláudio.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Cláudio Más 1/10/2012, 14:55

    Com a instrução abaixo, que vc pode salvar como uma consulta, vc tem o fornecedor com o menor preço unitário por material (evite usar o mesmo nome de campo e de tabela, no caso, Material):
    Código:
    SELECT Fornecedores.Fornecedor, Material.Material, MaterialFornecedor.PrecoUnit AS Preço
    FROM Fornecedores INNER JOIN (Material INNER JOIN (MaterialFornecedor INNER JOIN (SELECT Material.CÓDIGO, Material.Material, Min(MaterialFornecedor.PrecoUnit) AS Preço
    FROM Material INNER JOIN (Fornecedores INNER JOIN MaterialFornecedor ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor) ON Material.CÓDIGO = MaterialFornecedor.Material
    GROUP BY Material.CÓDIGO, Material.Material)  AS MenorPreço ON MaterialFornecedor.PrecoUnit = MenorPreço.Preço) ON (Material.CÓDIGO = MaterialFornecedor.Material) AND (Material.CÓDIGO = MenorPreço.CÓDIGO)) ON Fornecedores.CÓDIGO = MaterialFornecedor.Fornecedor
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 1/10/2012, 15:42

    Caramba, muito obrigado, Cláudio.

    Não sei nem como agradecer.

    O problema é que sou iniciante e terei trabalho pra entender o código.

    Mas muito obrigado!
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Cláudio Más 1/10/2012, 15:45

    De nada, disponha.
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 1/10/2012, 16:18

    Qual o melhor caminho pra aproveitar bem a consulta do access pra fazer esse código?

    Primeiro faço uma consulta com os fornecedores e pego o mínimo, depois faço outra consulta com os materiais e depois junto, alterando pouca pouca no SQL, né?
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Cláudio Más 2/10/2012, 11:20

    Sim, é assim mesmo.
    fieldNome
    fieldNome
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 113
    Registrado : 16/04/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  fieldNome 9/10/2012, 14:33

    Cláudio, no código anterior, em que traz as fábricas e armazéns, como faço pra retornar, quando for fábrica, em um campo chamado "tipo" o nome "Fabrica" quando for fabrica, "armazém" quando for armazém.
    ?

    Obrigado
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Cláudio Más 9/10/2012, 15:23

    Como está exatamente o código que vc quer alterar?

    Conteúdo patrocinado


    Query para retornar materiais que possuem estoque menor que o estoque mínimo Empty Re: Query para retornar materiais que possuem estoque menor que o estoque mínimo

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 22:23