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]Seimed 3 condições

    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty [Resolvido]Seimed 3 condições

    Mensagem  eristonmattos Sex 6 Out - 11:48

    Bom dia a todos,

    Amados, tenho um BD onde consigo ver produtos vencidos e a vencer, tanto na consulta,
    como no relatório...
    Gostaria que o Seimed (ou outra função) me trouxesse, além dessas 2 condições, uma outra de quando o
    produto estiver com 60 dias perto do vencimento, podendo chamar "Próximo 60".
    Já tentei pesquisando aqui e em muitos locais, mas sem sucesso.

    Eis o link do arquivo abaixo:

    dropbox.com/scl/fi/rlm922yi0no4qlf5izuw8

    Desde já, agradeço aos mestres.

    Att,
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Tentando ajudar

    Mensagem  abreuluiston Sex 6 Out - 20:12

    Você consegue entrar na consulta e copiar o SQL pra que eu possa tentar te ajudar? Para que o comportamento do select funcione como você fala tem que ter dois ou mais campos... Por exemplo: dataDeVencimento e dataDePagamento são os mais prováveis. Se forem somente esses dois está mais para uma consulta direta checando o valor do campo em relação a data atual da pesquisa do que usar uma determinada função.
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Seimed 3 condições

    Mensagem  eristonmattos Sáb 7 Out - 10:19

    Bom dia, abreuluiston,

    em SQL:

    Código:
    SELECT Produtos.CódigoDoProduto, Produtos.Discriminacao, Produtos.DataFabricacao, Produtos.DataValidade, Produtos.Lote, Format([DataValidade],"mmm/yyyy") AS [Mes/Ano], IIf(DateDiff("d",Date(),[DataValidade])>=0,"A Vencer","Vencido") AS Produto
    FROM Produtos
    GROUP BY Produtos.CódigoDoProduto, Produtos.Discriminacao, Produtos.DataFabricacao, Produtos.DataValidade, Produtos.Lote, Format([DataValidade],"mmm/yyyy"), IIf(DateDiff("d",Date(),[DataValidade])>=0,"A Vencer","Vencido");

    Aproveitei pra anexar o BD zipado...
    Sobre a opção de ter um campo DataPagamento, ficaria fora de contexto, já que o BD é para liberação de
    medicamentos internamente, não há venda ou compra deles, entende...
    Criando um outro campo com a diferença de 60 dias para o fim da validade, por ex, não daria certo?
    Tipo: 60Dias: [DataValidade]-60 (ele retorna uma data 60 dias antes do vencimento)...
    Ou usar If no relatório, tbm poderia ser uma solução, enfim...

    Ideias para a solução eu até imagino, mas não sei como fazer.

    Espero que vc consiga,

    Att,
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Sáb 7 Out - 10:59

    Não estou no Pc agora, mas segunda-feira dou uma olhada no BD.
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Seg 9 Out - 8:28

    Olá eristonmattos, bom-dia!

    Não encontrei o arquivo zipado conforme vc comenta na sua última nota.
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Seimed 3 condições

    Mensagem  eristonmattos Seg 9 Out - 12:49

    Boa tarde, Abreu,

    O arquivo não foi pq é maior que o permitido aqui...

    mas o link do Dropbox está disponível para baixar,
    pode ser com ele?

    dropbox.com/scl/fi/rlm922yi0no4qlf5izuw8

    Abraço,
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Seg 9 Out - 13:12

    Nunca usei o dropbox, mas acessei criei uma conta. Pelo seu link aparece uma opção de pedir acesso. Eu já fiz isso, quando vc der a permissão eu tento entrar.
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Seimed 3 condições

    Mensagem  eristonmattos Seg 9 Out - 14:28

    Abreu, tenta pelo link do Google Drive então...

    drive.google.com/file/d/1vSRPUDcdPfQf2DkZXXD2r1789k8k3uhF

    Deve funcionar... Mas posso enviar para um email seu, caso não
    funcione assim.

    Abraço,
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Seg 9 Out - 14:35

    A mesma coisa, o google drive não permite entrar e disponibiliza um box para solicitar acesso. Porém, ao enviar a solicitação deu erro.

    Manda no meu e-mail então: abreuluiston@gmail.com
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Seimed 3 condições

    Mensagem  eristonmattos Seg 9 Out - 14:58

    Enviado.

    Att,
    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Seg 9 Out - 15:58

    A função SEIMED é na verdade um IIF do SQL que no modo de exibição de consulta ele traduz para SEIMED. O IIF tem a seguinte sintaxe:

    IIF( ; parte verdadeira ; parte falsa)

    Dentro dos blocos verdadeiro e falso você pode aninhar outro IIF e, dessa forma, fazer novas checagens lógicas que gerarão mais blocos verdadeiros e falsos. Se não me engano é possível aninhar até 7 IIFs dentro de um IF, porém, chega um momento que fica bem confuso.

    No seu caso o que fiz foi exatamente isso. Aninhei um IIF dentro da parte verdadeira do IIF original e nesse IIF aninhado eu criei a condição de data de validade menos data atual do sistema. Se a resposta for menor que 70 ele volta a literal "Vencimento em Até 60 Dias", caso contrário "A Vencer - Com prazo OK".

    Coloquei a constante 70 para testar pq nos seus registros não tem nenhum caso menor que 60. Então, basta vc alterar essa constante para 60 e testar na sua base que deve possuir mais registros.

    Somente para fechar, a parte falsa do IIF mais externo (o original) eu não mexi. Então, se está vencido ele continuará trazendo a literal "Vencido".

    Por último, só para efeito de aprendizado se alguém pingar nessa ocorrência e analisar o SELECT. O grupy by nessa consulta não tem efeito pq ela não está agrupando nada. Um grupo se dá quando vc quer contar, somar, pegar o primeiro valor de um grupo de dados e etc que conterá mais de um registro. No seu caso não tem sentido pq as colunas estão todas abertas e nada está sendo agrupado. Então, se você simplesmente retirar o groupy by a consulta funcionará da mesma forma.

    O SELECT que vc deve substituir na sua base é o que segue:

    SELECT Produtos.CódigoDoProduto, Produtos.Discriminacao, Produtos.DataFabricacao, Produtos.DataValidade, Produtos.Lote, Format([DataValidade],"mmm/yyyy") AS [Mes/Ano], IIf(DateDiff("d",Date(),[DataValidade])>=0,IIf([datavalidade]-Date()<70,"Vencimento em Até 60 dias","A Vencer - Com prazo OK"),"Vencido") AS Produto
    FROM Produtos
    GROUP BY Produtos.CódigoDoProduto, Produtos.Discriminacao, Produtos.DataFabricacao, Produtos.DataValidade, Produtos.Lote, Format([DataValidade],"mmm/yyyy"), IIf(DateDiff("d",Date(),[DataValidade])>=0,IIf([datavalidade]-Date()<70,"Vencimento em Até 60 dias","A Vencer - Com prazo OK"),"Vencido");

    Se testar e estiver tudo ok acho que basta informar e finalizar a ocorrência.

    At.
    Luis Abreu

    eristonmattos gosta desta mensagem

    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  eristonmattos Seg 9 Out - 17:26

    Abreu, amanhã ligando o PC, testo o Select do jeito que vc fez... Espero entender mais ou menos ele, pq me pediram no trabalho (onde pretendo usar esse BD), que Data de Fabricação, Data de Validade e Lote, devem constar em outra tabela, a de movimento entrada e movimento saída...
    Pq os produtos só precisam estar cadastrados, e é na hora de registrar a entrada que preciso dos 3 campos que citei, tem lógica, já que cada entrada contêm diferença nesses 3 campos...
    Enfim, retorno com resolvido para o tópico, quando testar.

    Abraço,
    avatar
    eristonmattos
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 194
    Registrado : 05/09/2018

    [Resolvido]Seimed 3 condições Empty Seimed 3 condições

    Mensagem  eristonmattos Ter 17 Out - 14:57

    Dando resolvido com sucesso.

    Obrigado, Abreu.

    Abraço.

    abreuluiston gosta desta mensagem

    avatar
    abreuluiston
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 73
    Registrado : 24/07/2023

    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  abreuluiston Qua 18 Out - 10:01

    Não por isso. Precisando e eu podendo ajudar estou à disposição. Boa sorte e bons estudos com o Access.

    Conteúdo patrocinado


    [Resolvido]Seimed 3 condições Empty Re: [Resolvido]Seimed 3 condições

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qui 21 Nov - 9:24