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]Consulta Avançada via SQL.

    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty [Resolvido]Consulta Avançada via SQL.

    Mensagem  Carvalho 16/12/2015, 17:55

    Senhores boa tarde,

    Estou mais uma vez aqui a pedir a ajuda de vocês, é sobre consulta não tenho muita experiência com consultas avanças em SQL, e estamos trabalhando de maneira arcaica tenho 99,9% que o access Ele me da esse resultado. deixa de blablabla e vamos lá.


    Tenho duas Tabelas uma de "Material" e outra com O "Tubos fabricar" que vai ser fabricado de acordo com o Material disponível no estoque e por prioridade, que vai de (Prioridade 0, Prioridade 1, Prioridade 2 etc...) o access teria como me da uma consulta do que posso liberar para fabricar de acordo com a prioridade e o material disponível.

    Exemplo:

    Na consulta só poderia me informar essas duas peças abaixo, mesmo  a peça "E12C-002-WS001-03" sendo prioridade 1 mais tem o material, e a peça E12C-002-WS001-02 que não foi liberada mesmo sendo prioridade 0 pois o material insuficiente para ela ser fabricada por isso a consulta tem que pular dela, ai a consulta tem que fazer a varredura pela prioridade e analisar se tem todo o material se tiver ele libera se não tiver ele pula, isso tudo por prioridade.

    E12C-002-WS001-01
    E12C-002-WS001-03



    Para um melhor intendimento, segue o BD.

    Se isso é possível   por favor me ajudem.

    No aguardo.
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (16 Kb) Baixado 15 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 13:09

    Olá Carvalho,

    Vamos ver se entendi correto.

    Crie uma consulta com todos os campos da tabela "TbTubosFabricar". Em Critérios digite:    <>"Material Insuficiente". No campo Prioridade, Classificação: Crescente.
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  Carvalho 17/12/2015, 14:25

    good guy Obrigado por tentar me ajudar,

    O que você me disse pra fazer eu fiz, só não consegui fazer o critério estava dando erro.


    Recapitulando a Consulta tem que fazer uma varredura na Tabela de material x TbTubosFabricar e verificar se tem o material para fabricar as peças, se vc observar na tabela TbTubosFabricar no campo onde tem a identificação "E12C-002-WS001-01" se repete indicando cada material que vai ser necessário.

    essa consulta teria que vim apenas o material que vai ser liberado para fabricação e os únicos que tem material suficiente é os dois a baixo.


    E12C-002-WS001-01
    E12C-002-WS001-03

    Obg. no aguardo.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 14:52

    Olá Carvalho,

    Vê se é isso.
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 37 vez(es)
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL.

    Mensagem  Carvalho 17/12/2015, 15:53

    Good guy obrigado mais uma vez,

    Mais o campo "Liberar" não pode ser usada em nenhum critério, pois ela não existe, só coloquei pra ficar mais claro de quais tinham que vim na consulta.
    o que tem que ser usado como critério é o campo prioridade, a consulta ver o que é prioridade e inicia a analise, Ex: tenho uma peça que pra fabricar ela tenho que ter dois tipos de materiais diferentes disponíveis se tiver apenas um dos matérias e o outro em falta ou qtd insuficiente ela já descarta essa e pula pra próxima.




    obrigado mais uma vez, No aguardo.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 16:26

    Olá Carvalho,

    A consulta que te enviei faz exatamente isso. O campo Prioridade está em ordem crescente. Quando você procura pelo material pela palavra-chave, ela elimina já os que não tem (Material insuficiente) e disponibiliza o que tem por ordem de prioridade.

    Veja o que eu fiz: 1 - Criei o relacionamento que não existia pelo IDMaterial com nomes iguais porque o Access não permite o relacionamento se os campos não forem iguais; 2 - Coloquei a sintaxe de busca por palavra-chave; 3 - Coloquei em ordem crescente o campo Prioridade.
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL.

    Mensagem  Carvalho 17/12/2015, 17:01

    good guy Obrigado pela atenção.

    Mais a consulta esta apenas filtrando <>"Material Insuficiente" do campo Liberar, se você for apagar toda a informação desse campo ele não traz nada
    Entendeu, esse campo Liberar só coloquei essas informações de "liberado" e "Material Insuficiente" só pra mostrar o que teria que vim na consulta, pois só mostrei apenas 3 item do que tem que fabricar mais são mais de 18.000 tubos de todo tipo. cada tudo precisa em média de 3 a 4 matérias diferente para ser fabricado.


    Obrigado e no aguardo.

    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 17:19

    Olá Carvalho,

    Vamos por partes. Está OK o filtro por palavra chave e a ordem de prioridade? O que você quis dizer com se você for apagar toda a informação desse campo ele não traz nada
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL.

    Mensagem  Carvalho 17/12/2015, 18:25

    good guy,

    É um pouco mesmo complicado de explicar, a ordem de prioridade sim mais a palavra chave não, pois não vamos colocar essa informação de liberado
    e o campo que estou estou me referindo é o campo Liberar.

    Vou tentar explicar melhor vamos lá mais ed outra maneira mais servindo para o que eu quero.

    Ex:

    Tenho 4 bicicletas para fabricar e o material, cada bicicleta precisa de 3 matérias para assim ser fabricadas.

    Nas tabelas estarão assim.

    Se você observar a unica bicicleta que tem que aparecer na conculta seria a "Bicicleta3" pois ela tem todo o materia.


            Material  Disponivel          Qtd 
    correia2
    Quadro2
    Pneu2



    BicicletasMaterialQtdNecessariaPrioridade
    Bicicleta1Correia50
    Bicicleta1Quadro10
    Bicicleta1Pneu20
    Bicicleta4Correia10
    Bicicleta4Quadro10
    Bicicleta4Pneu20
    Bicicleta2Correia11
    Bicicleta2Quadro21
    Bicicleta3Correia11
    Bicicleta3Quadro11
    Bicicleta3Pneu11



    No aguardo.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 18:51

    Olá Carvalho,

    Acho que consegui trabalhando com a função SeImed. Veja o exemplo abaixo:
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (20 Kb) Baixado 8 vez(es)
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL.

    Mensagem  Carvalho 17/12/2015, 19:01

    good guy boa tarde,


    Ainda não deu certo, Sad  e pra não atrapalhar mais, excluir o campo Liberar. e a consulta teria que vim as duas peças.




    E12C-002-WS001-01

    E12C-002-WS001-03



    No aguardo.
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 10 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 19:48

    Olá Carvalho,

    Qual é o problema com esta sintaxe como critério? A quantidade de peças não tem que estar dentro do seu limite em estoque?

    SeImed([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque];"Liberar";"Material insuficiente")


    Acrescente o campo QtdEmEstoque da tabela Material na sua consulta e altere seu critério neste seu novo exemplo sem o campo Liberar para:

    SeImed([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque];Verdadeiro;Falso)


    Coloque esta sintaxe acima na segunda linha de  critério do campo Qtd.

    SELECT TbTubosFabricar.IDTubo, TbTubosFabricar.IDMaterial, TbTubosFabricar.Material, TbTubosFabricar.Qtd, TbTubosFabricar.Prioridade, Material.QtdEmEstoque
    FROM Material INNER JOIN TbTubosFabricar ON Material.IDMaterial = TbTubosFabricar.IDMaterial
    WHERE (((TbTubosFabricar.Qtd)=IIf([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque],True,False))) OR (((TbTubosFabricar.Prioridade)=1))
    ORDER BY TbTubosFabricar.Prioridade;
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançada via SQL.

    Mensagem  Carvalho 17/12/2015, 23:33

    Good Guy boa noite,

    Fiz o que vc mandou, mais não deu certo, vou tentar mostrar o motivo abaixo com as tres tabelas.


    Material
    [th]IDMaterial[/th][th]Material[/th][th]Diametro[/th][th]QtdEmEstoque[/th]
    1000Tubo de inox2 1/5"2
    1001Flange inox sobreposto2 1/5"2
    TbTubosFabricar
    [th]IDTubo[/th][th]IDMaterial[/th][th]Material[/th][th]Qtd[/th][th]Prioridade[/th]
    E12C-002-WS001-011001Flange inox sobreposto20
    E12C-002-WS001-011000Tubo de inox 2 1/5"20
    E12C-002-WS001-021001Flange inox sobreposto21
    E12C-002-WS001-021000Tubo de inox 2 1/5"21
    E12C-002-WS001-031000Tubo de inox 2 1/5"21
    E12C-002-WS001-031001Flange inox sobreposto21
    cnsVerificar
    [th]IDTubo[/th][th]IDMaterial[/th][th]Material[/th][th]Qtd[/th][th]Prioridade[/th][th]QtdEmEstoque[/th]
    E12C-002-WS001-021001Flange inox sobreposto212
    E12C-002-WS001-021000Tubo de inox 2 1/5"212
    E12C-002-WS001-031001Flange inox sobreposto212
    E12C-002-WS001-031000Tubo de inox 2 1/5"212

    O primeiro "Material" é a quantidade de material disponível, a outra é a tabela "TbTubosFabricar" que tem para fabricar, e por ultimo é o resultado conforme a sua instrução. o correto era para a consulta trazer como mostra nesse exemplo abaixo, na tabela  "Material" o que esta disponível dava para fabricar apenas essa peça abaixo, se o material por exemplo tivesse 4 no logar de 2, ai a consulta trazia esse abaixo e o outro que seria esse aqui. "E12C-002-WS001-02"


    CORRETO-cnsVerificar
    [th]IDTubo[/th][th]IDMaterial[/th][th]Material[/th][th]Qtd[/th][th]Prioridade[/th]
    E12C-002-WS001-011001Flange inox sobreposto20
    E12C-002-WS001-011000Tubo de inox 2 1/5"20


    Muito obrigado pela ajuda.

    No aguardo.
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 6 vez(es)


    Última edição por Carvalho em 18/12/2015, 00:07, editado 1 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançava via SQL

    Mensagem  good guy 17/12/2015, 23:53

    Olá Carvalho,

    Prometo amanhã continuarmos com este estudo, mas preciso ser enfático quanto ao incluirmos a quantidade em estoque necessárias para o fim desejado e você não incluiu este detalhe nessa sua última tese de desenvolvimento de uma solução. Mas, vamos procurar ser objetivos e resolver este problema.

    Por fim, peço que corrija no título Avançava por Avançada e procurarmos também não tropeçarmos na nossa língua para o bem entendimento de todos do fórum e também fortalecermos o nosso Português. Eu mesmo, edito minhas mensagens frequentemente porque deslizo na língua não raras vezes. Sem ressentimentos por favor, meu amigo. Quero ajudá-lo a chegarmos a um final feliz e todos nós aprendermos mais e este exemplo também entrar nos meus arquivos.
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançada via SQL.

    Mensagem  Carvalho 18/12/2015, 00:12

    Good guy, obrigado pelo toque,

    Peço desculpas Embarassed Fiz com muita pressa, e me esquece de alguns detalhes. 
    Corrigido!




    No aguardo. Very Happy
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Consulta Avançada via SQL. Empty Consulta Avançada via SQL

    Mensagem  good guy 18/12/2015, 13:39

    Olá Carvalho,

    Veja se te atende. Coloquei novamente o campo Liberar que me ajuda a visualizar melhor se a quantidade em estoque satisfaz a necessidade da produção. A cada ordem de Prioridade 0, 1, 2 ... etc, ao lado dela no critério do campo Liberar coloque um tipo de consulta. Veja como ficou no anexo:

    Prioridade            Liberar
    0                         SeImed([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque];"Liberar";"Material insuficiente")
    1                         SeImed([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque];"Liberar";"Material insuficiente")
    2                         SeImed([TbTubosFabricar].[qtd]<[Material].[QtdEmEstoque];"Liberar";"Material insuficiente")
    Anexos
    [Resolvido]Consulta Avançada via SQL. AttachmentLiberaçãoMaterial.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 10 vez(es)
    Carvalho
    Carvalho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 249
    Registrado : 19/01/2013

    [Resolvido]Consulta Avançada via SQL. Empty Re: [Resolvido]Consulta Avançada via SQL.

    Mensagem  Carvalho 27/12/2015, 16:46

    Good guy boa tarde,
     
    Queria te agradecer por tentar me ajudar, Não era desse jeito que eu queria, o erro foi meu por não conseguir transmitir como eu queria. Mais conseguir resolver no Fórum RedeAccess. segue abaixo o link do tópico.


    http://www.redeaccess.com.br/viewtopic.php?f=3&t=478&p=1949#p1949


    Mais Good guy, muito obrigador mesmo.  Very Happy

    Conteúdo patrocinado


    [Resolvido]Consulta Avançada via SQL. Empty Re: [Resolvido]Consulta Avançada via SQL.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 15:47