Pesquisa Inteligente ??

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

mmaciel11
Usuário Nível 2
Usuário Nível 2
Mensagens: 69
Registrado em: 23 Mar 2006 11:16
Localização: sao luis
Contato:

Pesquisa Inteligente ??

Mensagem por mmaciel11 »

Bom Dia a todos,


como faço pra fazer uma pesquisa em um banco de dados tipo:
ORDEM ALFABÉTICA

tenho os nomes:

ANTONIA DOS SANTOS CALIXTO
BERNADETE FIGUEREDO SILVA
CARLOS MACIEL SILVA
ERILDA DOS SANTOS MACIEL
JOSE RIBAMAR SILVA FILHO
MARCO ANTONIO MACIEL

onde na pesquisa colocaria o nome MACIEL

e apareceria so pessoas com o nome MACIEL

Exemplo com os nome acima:
CARLOS MACIEL SILVA
ERILDA DOS SANTOS MACIEL
MARCO ANTONIO MACIEL


agradeço desde ja

Marco Maciel
mmaciel11@hotmail.com
HBMake v1.55 - xHarbour Make
xHarbour build 0.99.60 (simplex)
Borland c++ 5.5.1
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Pesquisa INTELIGENTE ??

Mensagem por alxsts »

Olá Marco.

Voce não informou qual banco de dados está usando.

Supondo que seja um banco relacional (Oracle ou SQL Server ou até mesmo em Access) voce pode montar um select da seguinte forma
SELECT Nome FROM Tabela WHERE Nome LIKE %MACIEL%.

No bom e velho Clipper, voce poderia escrever:

Código: Selecionar todos

PROCEDURE NameShow()

   LOCAL aNames
   
   CLS
   
   USE Tabela SHARED NEW

   aNames := NameSearch( "MACIEL" )
   
   If Len( aNames ) > 0
      Aeval( aNames, { |e| Tabela->( DbGoTo( e ) ), QOut( Tabela->nome ) } )
   Else
      Alert( "Nome nao encontrado" )
   Endif
      
   Tabela->( DbCloseArea() )
   
   RETURN 
//------------------------------------------------------------------------------
FUNCTION NameSearch( cNome )

   Local aRecno

   Tabela->( DbGoTop() )

   // se o argumento de pesquisa estiver contido no valor do campo, guarda o numero do registro num vetor
   Tabela->( DbEval( { || If( cNome $ TABELA->nome, Eval( { || AAdd( aRecno, TABELA->( Recno() ) ) } ), NIL ) } ) )
   
   RETURN aRecno 
//------------------------------------------------------------------------------   
Espero ter ajudado.

Abraço
AlxSts
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Pesquisa INTELIGENTE ??

Mensagem por sygecom »

Use a função ORDWILDSEEK()
Veja o exemplo do link abaixo:
viewtopic.php?t=7266
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder