Página 1 de 1
Busca parcial em Tabela DBF
Enviado: 16 Ago 2017 14:26
por Cisino Junior
http://www.devmedia.com.br/sql-select-guia-para-iniciantes/29530 escreveu:
FILTRO DE TEXTO
Para busca parcial de string, o SELECT fornece o operador LIKE. Veja o exemplo abaixo:
SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘MARIA%’
Neste comando, todos os clientes cujos nomes iniciam com Maria serão retornados. Se quisermos retornar os nomes que contenham ‘MARIA’ também no meio, podemos alterar para o exemplo a seguir:
SELECT CODIGO, NOME FROM CLIENTES
WHERE NOME LIKE ‘%MARIA%’
O uso de máscara no início e no fim da string fornece maior poder de busca, mas causa considerável perda de performance. Este recurso deve ser utilizado com critério.
Boa tarde!!!
Como na citação acima, retirada de uma postagem do DEVMEDIA, eu gostaria de saber como fazer para realizar uma busca parcial de registro em tabela DBF. Por exemplo: Na minha tabela de produtos está cadastrado itens como "Item Qualquer A" "Qualquer Item A" "Item Qualquer B", ao digitar a palavra QUALQUER, eu quero que retorne no componente BROWSE os registros com o a palavra "QUALQUER" independente da posição que ela esteja na STRING, começo ou meio. Como faz a operador LIKE do comando SELECT no SQL.
Alguém pode me dar uma luz nisso?
Desde já agradeço!
Atenciosamente,
Cisino Junior.
BUSCA PARCIAL EM TABELA DBF
Enviado: 16 Ago 2017 15:20
por JoséQuintas
Alguém pode me dar uma luz nisso?
Código: Selecionar todos
SET FILTER TO "QUALQUER" $ NOME
SET FILTER TO Left( NOME, 8 ) == "QUALQUER"
SET FILTER TO Right( Trim( NOME ), 8 ) == "QUALQUER"
BUSCA PARCIAL EM TABELA DBF
Enviado: 16 Ago 2017 15:58
por Cisino Junior
JoséQuintas escreveu:Expandir visualizacaoVer codigo
1 SET FILTER TO "QUALQUER" $ NOME
2
3 SET FILTER TO Left( NOME, 8 ) == "QUALQUER"
4
5 SET FILTER TO Right( Trim( NOME ), 8 ) == "QUALQUER"
6
Olá Quintas, boa tarde!!!
Vou testar seu exemplo, muito obrigado!!!
Atenciosamente,
Cisino Junior.
BUSCA PARCIAL EM TABELA DBF
Enviado: 16 Ago 2017 18:14
por Toledo
Amigo, veja também este exemplo de busca/consulta:
https://pctoledo.org/forum/viewto ... 871#p94456
No campo de busca deste demo, digite por exemplo
*JOSE
Abraços,
BUSCA PARCIAL EM TABELA DBF
Enviado: 16 Ago 2017 19:10
por JoséQuintas
Esqueci de uma coisa:
Se estiver usando algum acesso ao DBF que permite SQL, pode fazer exatamente igual, usando LIKE.
Não sei se é o caso.
E sempre pode estender o filtro usando rotina própria.
SET FILTER TO MeuFiltro()
BUSCA PARCIAL EM TABELA DBF
Enviado: 17 Ago 2017 13:22
por Cisino Junior
Toledo escreveu:Amigo, veja também este exemplo de busca/consulta:
Olá Toledo, irei testar agora também. Muito obrigado!!!
JoséQuintas escreveu:Esqueci de uma coisa:
Se estiver usando algum acesso ao DBF que permite SQL, pode fazer exatamente igual, usando LIKE.
Não sei se é o caso.
Olá Quintas, estamos migrando o acesso aos DBF's para o LetoDB(fork). Você poderia me indicar o caminho para fazer os acessos aos DBF's com SQL??? Isso me parece ser muito interessante! Muito obrigado!
Atenciosamente,
Cisino Junior.
BUSCA PARCIAL EM TABELA DBF
Enviado: 17 Ago 2017 13:43
por JoséQuintas
Seria por ODBC, que no Harbour só usando SQLMIX, ou alguma outra diretamente, ou ADO que é o que uso.
O que já usei foi ADO + Advantage Local.
E ainda deve existir de FoxPro, Visual Foxpro, dBase, etc.
Mas se for pra mexer nos fontes, melhor pensar em MySQL, e não em DBF.
BUSCA PARCIAL EM TABELA DBF
Enviado: 17 Ago 2017 14:26
por Cisino Junior
Boa tarde, Quintas!
Vou dar uma pesquisada sobre isso, mas o mudar para SGBD SQL seria realmente o melhor, infelizmente não possuímos tempo para isso agora, pois o sistema é enorme.
Você teria algum exemplo de uso?
Mais uma vez, muito obrigado!
Atenciosamente,
Cisino Junior.