campo memo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Flavio
Usuário Nível 1
Usuário Nível 1
Mensagens: 25
Registrado em: 12 Jan 2005 22:10
Localização: Santa Cruz do Rio Pardo/SP
Contato:

campo memo

Mensagem por Flavio »

pessoal preciso fazer uma pesquisa através de um campo memo.
Dudu_XBase
Membro Master
Membro Master
Mensagens: 1071
Registrado em: 25 Ago 2003 16:55

Mensagem 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.


________________________________________________________________________________________________________
(Aow Saudade) Clipper 5.2e, Blinker 7, RDD SIXNSX, DBFCDX /Xharbour 1.0, Rdd Mediator (Mysql) Free , RDD Sqlrdd (Sql Server) Comercial
(Hoje) C# Python Sql Server e Oracle




Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Mensagem 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?
Responder