Fórum Pesquisa por palavra #164906

05/06/2003

0

Olá galera, nova dúvida..

Tenho uma tabela onde possui os seguintes campos : Codigo,NumerodaLei,DatadaLei,DatadaPublicacao,Ano,Ementa. Sendo que este campo ementa é do tipo FormatedMemo. Bom, no meu Form Tenho uma Grid lincada a esta tabela. Tenho também um Edit.
Agora eu queria que quando digitasse uma palavra no Edit exemplo ´Lei 011´ me mostrasse na Grid somente os Registros que possuem no Campo Ementa uma coincidência com a palavra ´Lei 011´ digitada no Edit, ou seja uma busca pelo campo Ementa. tentei fazer com Query, só que estou apanhando, Sacaram?? Muito Obrigado galera... :shock:


Giovani

Giovani

Responder

Posts

05/06/2003

Oscarluiz

Caro Giovani, sei que as vezes fica dificil fazermos algumas alterações em bancos de dados, mas no seu eu aconselharia a criar uma outra tabela onde esta devera ter o campo emenda e um campo chave ( Numero da Lei ), onde para cada lei vc teria as respectivas emendas, desta forma ficaria facil pois vc só teria de configurar a propriedade mastersouce e masterfields ( este linkado pelo campo NumerodaLei).

é só uma idéia, seria otimo se mais pessoas pudessem opinar para que vc possa chegar a um denominador comum com mais facilidade.

[]´s


Oscar Luiz R. de Oliveira


Responder

Gostei + 0

05/06/2003

Henry

Giovanni, meu brother, faça assim:
Coloque o query e um data sourche, e linke os dois. Coloque uma grade somente para mostrar os dados. Ai coloque o edit e o button e no evento on click do button faça:

//Fecha a query, caso aberta
query1.close;
//Limpa os comandos SQL
query1.sql.clear;
//Joga o comando complementado com o texto de edit 1
edit1.text:= ´select * from tabela where campo like ´¬´+ edit1.text + ´¬´;
//Joga o comando dentro da query
query1.sql.add(edit1.text);
//Tenta abri a query
try
query1.open
except
messagedlg (´Têm um erro no codigo SQL´, mterror, [mbok], 0);
end
end;

Se nao consegui, me da um toque no ICQ, 221075981, que eu te jogo uns exemplos, blz meu brother?? Um abraço, HEnry


Responder

Gostei + 0

06/06/2003

Giovani

Galera, Valeu pelas dicas mas não funcionou,

Alguém aí usa o DTDELHPI?

a busca que eu quero é igual aquela que tem na parte de Pesquisa, lembra?

onde vc digita a palavra chave e aparece abaixo a lista das coincidências.

Se alguém souber, quebra o meu galho aí


Responder

Gostei + 0

06/06/2003

Lucaugusto

caso vc use os componentes ttable:

nos componentes ttable, existe um evento chamado ´onfilterrecord´.

Quando vc coloca table1.filtered para true, a tabela passa registro a registro e executa a procedure ´onfilterrecord´. Caso o resultado da variável é true, ele seleciona o registro. É nesse momento q vc poderia validar se existe o valor no campo das ementas.

seria algo mais oi menos assim: (estou sem delphi no momento)

vá no evento ´onfilterrecord´, e adicione o seguinte:


-------------------------------------
if pos(edit1.text,table1ementa.lines)>0 then
begin
(a procedure dá uma variável, acho que é Selected. Coloque-a para true)
end
else
begin
(selected:=false)
end;
-------------------------------------


Não sei se isso resolve o seu problema, mas caso funcione...


obs.: coloque table1.filtered para true para que a tabela passe por essa procedure.

Lucas


Responder

Gostei + 0

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

Aceitar