Clipper On Line • Ver Tópico - Pesquisa Inteligente ??

Pesquisa Inteligente ??

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Pesquisa Inteligente ??

Mensagempor mmaciel11 » 22 Dez 2008 11:10

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
mmaciel11
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 69
Data de registro: 23 Mar 2006 11:16
Cidade/Estado: sao luis
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Re: Pesquisa INTELIGENTE ??

Mensagempor alxsts » 22 Dez 2008 17:41

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:

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)
alxsts
Colaborador

Colaborador
 
Mensagens: 2943
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Re: Pesquisa INTELIGENTE ??

Mensagempor sygecom » 22 Dez 2008 19:04

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

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 11 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro