Sou obrigado a postar aqui porque o forum não está permitindo criar tópicos para aplicação filtro.
Preciso de uma pequena ajuda de vocês, por gentileza.
Em um cadastro de contatos (form) tenho um campo chamado TIPO (mysql/tipo char/14 caracteres) onde uso o tipo SC checkbox, usando como delimitador o “;”.
São 7 opções possíveis:
1-Cliente
2-Fornecedor
3-Proprietário
4-Fabricante
5-Entidade
6-Manutenção
7-Veterinário
Neste cadastro, o contato pode possuir 1 ou todas as opções marcadas.
No banco, a informação fica gravada desta forma, caso eu marque todos os box no form: 1;2;3;4;5;6;7
O problema:
No consulta desta tabela, opção Pesquisa, coloquei o mesmo campo para que o usuário pudesse pesquisar pelo tipo, marcando 1 ou mais tipos, a fim de encontrar os contatos que se encaixam nos tipos pretendidos (lookup manual).
Acionando o debug da consulta, o filtro realizado pelo SC fica da seguinte forma quando eu marco os checkbox 4 e 5:
SELECT …campos… from contatos where tipo_contato in (‘4’,‘5’) LIMIT 0,12
Essa pesquisa dentro do conteúdo do campo nunca irá achar registro algum.
A pesquisa deveria ser:
SELECT …campos… from contatos where tipo_contato LIKE ‘%4%’ AND tipo_contato LIKE ‘%5%’ LIMIT 0,12
Essa sim retorna os registros corretos.
Isso tem solução? É bug ou erro de programação do SC?
Como deve ser a pesquisa para campos checbox?
Obrigado.
