Filtrar Valores >= no Formulário de Pesquisas (Resolvido) - Tomás Vásquez Fórum
Filtrar Valores >= no Formulário de Pesquisas (Resolvido)
Mensagem por Valderei » Qui Jun 13, 2019 10:15 pm
Uso já a bastante tempo o modelo disponibilizado pelo Tomas aqui no site, nele tenho feito vários acréscimos e aprendido muito.
O que pretendo fazer agora, é conseguir filtrar nele um intervalo de valores, a versão que tenho, possui uma condição de pesquisa entre intervalo de datas, mas vi que para números, as mesmas variáveis não podem ser usadas.
Gostaria de saber se alguém já fez isso ou tem ideia de como implementar.
Vou deixar como anexo uma imagem do que pretendo, onde a intenção é filtrar as quantidades.
Obrigado e agradeço desde já a ajuda que for receber.
Pesquisa.jpg (164.74 KiB) Exibido 13862 vezes
Editado pela última vez por Valderei em Sex Jun 21, 2019 11:26 am, em um total de 1 vez.
Re: Filtrar Valores >= no Formulário de Pesquisas
Mensagem por Reinaldo » Sex Jun 14, 2019 10:28 am
...as mesmas variáveis não podem ser usadas.
Até podem ser utilizadas, mas dependendo da combinação de filtro, a qual não entendi, pela foto exposta; e aconselhável utilizar uma (ou mais) variavel especifica.
Mensagem por PRMPOKER » Sex Jun 14, 2019 10:41 am
Caro Valderei, tudo certo?
Pois veja bem, quantas coincidências:
Somos ambos de Caxias do Sul/RS (salve, salve, Galeteria Alvorada!);
Você se registrou neste fórum em 27/12, dia do meu aniversário;
Desenvolvi um sistema em VBA/Excel para controle de auditorias de qualidade, para ser utilizado na produção Suspensys, em 2011;
Meu caro, me chama nos meus contatos pessoais que te ajudo!
Mensagem por Valderei » Dom Jun 16, 2019 4:51 pm
Sex Jun 14, 2019 10:28 am
Reinaldo, tudo bem.
A ideia do filtro, é na coluna QuantidadeNC, eu quero filtrar valores acima >= (maior ou igual) a 10, e minha intenção inicial foi de usar o mesmo padrão criado para filtrar entre datas, porém, a limitação foi a barreira, até tentei várias vezes, mas nada rolou.
Se achares mais conveniente, posso colocar um exemplo.
Mensagem por Reinaldo » Dom Jun 16, 2019 10:10 pm
E conveniente anexar um exemplo de como está seu modelo e de como deseja obter o retorno. Informando tambem as variações e/ou combinações (se houver) de filtro
Mensagem por PRMPOKER » Ter Jun 18, 2019 10:46 am
Bem importante e pertinente o comentário do colega Reinaldo, que aliás, é um mestre em conhecimento e disponibilidade. Parabéns Reinaldo. Sem um modelo ou exemplo, raramento poderemos ajudar.
No caso em específico, o Valderei mando sua planilha diretamente para meu contato, então, segue a solução:
O modelo é baseado no Formulário de Cadastro do Tomás, então, seguindo a mesma lógica, só foi necessário testar se o campo (listbox) que contém os operadores lógicos está ou não preenchido e caso esteja, adicionar a parte do WHERE correspondente. Caso não haja operador selecionado, segue o fluxo anterior.
'Instrução para montaClausulaWhere entre as DATAS
If IsDate(Me.Controls(NomeControle).Text) Then    'Verifica se é Data
Select Case LocEntreDatas
Case 0    'Procura por uma unica Data
sqlWhere = sqlWhere & " (" & NomeCampo & ") = #" & Format(txtDataini, "mm/dd/yyyy") & "#"
Case 1    'Procura entre duas Datas
sqlWhere = sqlWhere & " (" & NomeCampo & ") BETWEEN #" & Format(txtDataini, "mm/dd/yyyy") & "# AND #" & Format(txtDatafim, "mm/dd/yyyy") & "#"
'*** Verifica se há um operador de comparação de valores e então, aplica filtro para montar a cláusula where conforme o operador selecionado no formulário.
If NomeControle = "TextBoxValor" Then
sqlWhere = sqlWhere & " " & NomeCampo & " " & ComboBoxOperador.Text & " " & TextBoxValor.Text
'***  Caso não tenha nenhum operador de comparação selecionado, executa conforme era antes.
'*** Caso deseje retornar ao original, exclua as linhas 1, 2, 3, e 5 acima. Fim da Alteração
'FIM DATAS
Mensagem por Valderei » Sex Jun 21, 2019 11:24 am
PRMPOKER escreveu: ↑
Ter Jun 18, 2019 10:46 am
Prezado Reinaldo, realmente a adição de um exemplo auxilia e muito na solução do problema ou dúvida do usuário, peço desculpas por não ter procedido deste modo desde o início, próximas vezes farei isso.
Bem, graças ao grande apoio do PRMPOKER, conseguimos resolver a questão. A ideia inicial era realmente usar a base do projeto do Tomas, mas faltava a lógica do entendimento, a qual foi encontrada pelo PRMPOKER.
Ele já compartilhou o código utilizado em meu projeto, ou seja, outros que usam este mesmo modelo, já podem utilizar.