Fórum Filtrar duas palavras separadas no mesmo campo com o edit? #340199
10/04/2007
0
Tenho no dbgrid dados gravados assim:
[campo=noCNAE]
cultivo de milho
cultivo de trigo
cultivo de soja
...
...
Estou querendo digitar duas palavras separadas no mesmo campo em um edit e filtrar, mais nao estou obtendo resultado
Fiz um SQL assim:
if radiobutton3.checked = true then begin if edit1.text = ´´ then exit; texto := edit1.text; sql := ´SELECT * FROM TB8cnae WHERE UPPER(noCnae) LIKE ´+´ ´´ ´; while pos(´ ´,texto) > 0 do begin sql := sql + (copy(texto,1,pos(´ ´,texto)-1)+´¬´); Delete(texto,1,pos(´ ´,texto)); end; sql := sql+texto+´¬´´´; sql := UpperCase(sql); query1.Close; query1.SQL.Clear; query1.SQL.Add(sql); query1.Open; end;
O objetivo deste filtro com este fileds eh escrever no edit assim
[b:83f33b1611]culti sojal[/b:83f33b1611] fazer o filtro sobre essas duas palavras que estao no mesmo campo do fields.
Estou usando firebird 2.0
Grato Adriano
Adriano_servitec
Curtir tópico
+ 0Posts
11/04/2007
Edvilson.chaves
[b:ddfaedf8b5]function RetornaPalavraSel(const pFrase: String; const pPosicao: Integer): String;
var
lNomes: array[1..20] of string;
Nome: String;
i, TotalNomes: Integer;
begin
Nome := pFrase + #32;
i := Pos(32, Nome);
if i > 0 then
begin
TotalNomes := 0;
while i > 0 do
begin
Inc(TotalNomes);
lNomes[TotalNomes] := Copy(Nome, 1, i - 1);
Delete(Nome, 1, i);
i := Pos(32, Nome);
end;
if pPosicao <= TotalNomes then
Result := lNomes[pPosicao]
else
Result := cStringBranco;
end
else
Result := cStringBranco;
end;[/b:ddfaedf8b5]
Gostei + 0
11/04/2007
Adriano_servitec
Obrigado pela atençao
Adriano.
Gostei + 0
13/04/2007
Adriano_servitec
Gostei + 0
16/04/2007
Adriano_servitec
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)