Fórum Consulta em um campo MEMO #187135

08/10/2003

0

Tenho um banco de dados(paradox) com varios registros , em cada um destes registros existe um campo MEMO onde tem várias linhas de comentário ..

Quero colocar um edit onde o cliente vai digitar algumas palavras e o sistema vai ter que procurar nesse campo MEMO, me listando depois todos os registros que possuem essas palavras ...


Tem como fazer isso ???

Abraço


Arc

Arc

Responder

Posts

08/10/2003

Arc

Me ajudem galera, :D :D


Responder

Gostei + 0

23/10/2003

Machado

Ei pessoal estamos precisando que algum fera responda a pergunta, ei moderadores que tal??


Responder

Gostei + 0

24/10/2003

Imoreira

procedure TForm1.QuebraPalavras(Str, DeleteCaracter: string; var Palavras: TStringList);
begin
Palavras.Clear;
if Pos(DeleteCaracter, Str) = 0 then begin
Palavras.Add(Str);
Exit;
end;
while Pos(DeleteCaracter, Str) <> 0 do begin
Palavras.Add(Copy(Str, 1, Pos(DeleteCaracter, Str) - 1));
Str:= Copy(Str, Pos(DeleteCaracter, Str) + 1, Length(Str));
end;
Palavras.Add(Str);
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Palavras,lista: TStringList;
x,y:integer;
begin
Palavras:= TStringList.Create;
Lista:=TStringList.Create;
for x:=0 to length(edit.text)-1 do begin
QuebraPalavras(edit.text,´ ´,Palavras);
for y:=0 to palavras.Count-1 do begin
lista.Add(palavras[y]);
end;
end;
with qry do begin
close;
with sql do begin
CLEAR;
add(´select mensagem from mensagemrecibos where ´);
for x:=0 to lista.Count-1 do begin
add(´ mensagem LIKE ´+quotedstr(´¬´+lista.Strings[x]+´¬´));
add(´ OR ´);
end;
delete(sql.Count-1);
end;
open;
end;
end;


Responder

Gostei + 0

24/10/2003

Valdir.santos

Cara, fiz estes dias uma pesquisa assim. No meu caso, os usuários digitam as palavras ou frases, separando-as por ponto-e-vírgula e têm a opção de escolher se quer pesquisar todas as palavras ou frases da lista ou qualquer uma delas. Dá uma olhadinha no código e vê se consegue entender.

cboTexto1: ComboBox. Opções: 1-Em qualquer posição 2-No início do campo
cboTexto2: ComboBox. Opções: 1-Todas as palavras 2- Qualquer palavra

sTexto:=Trim(edtTexto.Text);
if sTexto <> ´´ then begin
if RightStr(sTexto,1) <> ´;´ then
sTexto:=sTexto+´;´;
iPalavras:=1;
while Pos(´;´,sTexto) > 0 do begin
sPalavra:=LeftStr(sTexto,Pos(´;´,sTexto)-1);
if sPalavra <> ´´ then begin
if sWhere <> ´´ then
sWhere:=sWhere+
Iif((cboTexto2.ItemIndex=0)
or (iPalavras=1),´ AND ´,´ OR ´);
if iPalavras = 1 then
sWhere:=sWhere+´( ´;
sWhere:=sWhere+
´P.Mem_Texto LIKE ´+QuotedStr(
Iif(cboTexto1.ItemIndex=0,´¬´,´´)+
sPalavra+´¬´);
Inc(iPalavras);
end;
sTexto:=Trim(RightStr(sTexto,Length(sTexto)-Pos(´;´,sTexto)));
end;
sWhere:=sWhere+´ )´;
end;

qry.SQL.Text:=´SELECT * FROM Cadastro WHERE ´+sWhere;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar