Página 1 de 1

campo memo

Enviado: 28 Jan 2005 21:37
por Flavio
pessoal preciso fazer uma pesquisa através de um campo memo.

Enviado: 28 Jan 2005 22:13
por Dudu_XBase
Flávio Boa Noite !
Para realizar uma pesquisa em um campo memo vai algo que vai levar um tempo, conheço uma unica forma.
Vou citar um exemplo.
Criei um banco somente com um campo MEMO
chamado de dudu.dbf
Criei 4 registros neles gravei partes do meu nome.
Agora quero pesquisar em quais registros gravei uma determinada palavra.
Estou usando a função AT() do clipper para me ajudar nessa busca.
A função At realiza uma pesquisa dentro de uma váriavel string retornando a posição, em q foi encontrada o dado solicitado a ser pesquisado.

Código: Selecionar todos

   use dudu alias dudu new
   dbgotop()
   while !eof()
     c := dudu->MEMO
     // procuro a palavra takashi na variavel q atribui o campo memo
     // e informo qual registro no bd foi encontrado
     if at("takashi",c) > 0
         ? "Encontrei o valor no Registro "+str(recno(),4)
     endif
    dbskip()   
   enddo
  use
A pesquisa se tornará lenta pq tenho que pesquisar registro a registro.
Vc poderá armazenar a posição do registro num dbf temporário ou numa matriz array quando encontrado para vc realizar seu processo ou exibição na tela.
Desconheço outra forma mas não duvido da capacidade do nosso clipper.
Isso me deixou com uma pulga atrás da orelha...rs...será que existe outra forma mais rápida...estou pesquisando...mas por enquanto essa é a solução que espero que lhe ajude.

Enviado: 04 Fev 2005 14:29
por Mário Isa
vc também pode fazer uma pesquisa dentro de um campo memo assim:
digamos que o campo se chame aplic e você quer ver se uma determinada palavra está lá
a palavra seria: COMPUTADOR

locate for 'COMPUTADOR' $ memotran(aplic)

GOSTOU?