Para Experts em filtrar no DBGrid
Bom Dia! Estou com um probleminha, preciso filtrar nomes num DBGrid usando um Query SQL, mas esta dando pau.
O código que estou utilizando é esse:
SQL=Select*From ´clientes.db A Where A.ind_Nome Like :Nome
No Botão eu estou digitando:
if (Edit1.text=´ ´) then
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
else
Query1.ParamByind_nome(´Nome´).AsString:=Edit1.text;
Query1.Open;
Alguem pode me dar uma dica pois esta muito dificil solucionar meu probleminha. Não consigo localizar os nomes de jeito nenhum.
O código que estou utilizando é esse:
SQL=Select*From ´clientes.db A Where A.ind_Nome Like :Nome
No Botão eu estou digitando:
if (Edit1.text=´ ´) then
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
else
Query1.ParamByind_nome(´Nome´).AsString:=Edit1.text;
Query1.Open;
Alguem pode me dar uma dica pois esta muito dificil solucionar meu probleminha. Não consigo localizar os nomes de jeito nenhum.
Julio Piorino
Curtidas 0
Respostas
Paulo_amorim
30/01/2004
Olá
Qual o problema em si? nao aparece registro algum?
Não entendi bem...
Qual o problema em si? nao aparece registro algum?
Não entendi bem...
GOSTEI 0
Fabio.hc
30/01/2004
[quote:8cf9e964aa=´Julio César Piorino´]Bom Dia! Estou com um probleminha, preciso filtrar nomes num DBGrid usando um Query SQL, mas esta dando pau.
O código que estou utilizando é esse:
SQL=Select*From ´clientes.db A Where A.ind_Nome Like :Nome
No Botão eu estou digitando:
if (Edit1.text=´ ´) then
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
else
Query1.ParamByind_nome(´Nome´).AsString:=Edit1.text;
Query1.Open;
Alguem pode me dar uma dica pois esta muito dificil solucionar meu probleminha. Não consigo localizar os nomes de jeito nenhum.[/quote:8cf9e964aa]
Tente assim:
Ou
O código que estou utilizando é esse:
SQL=Select*From ´clientes.db A Where A.ind_Nome Like :Nome
No Botão eu estou digitando:
if (Edit1.text=´ ´) then
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
else
Query1.ParamByind_nome(´Nome´).AsString:=Edit1.text;
Query1.Open;
Alguem pode me dar uma dica pois esta muito dificil solucionar meu probleminha. Não consigo localizar os nomes de jeito nenhum.[/quote:8cf9e964aa]
Tente assim:
if (Edit1.text=´´) then Query1.ParamByind_nome(´Nome´).AsString:=´¬´ else Query1.ParamByind_nome(´Nome´).AsString:=´¬´+Edit1.text+´¬´; Query1.Open;
Ou
if (Edit1.text=´´) then Query1.ParamByind_nome(´Nome´).AsString:=´¬´ else Query1.ParamByind_nome(´Nome´).AsString:=Edit1.text+´¬´; Query1.Open;
GOSTEI 0
Vinicius2k
30/01/2004
Júlio,
Que propriedade é essa ParamByind_nome ?
vc estah usando o LIKE, ou seja vc estah pesquisando por aproximação então 1 ou 2 [color=red:6cf548245c]¬[/color:6cf548245c] é regra...
exemplos :
filtra pelos nomes iniciados pelo que está no text do edit não importando como termina... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer JOAO, JOSE, JORGE, etc...
filtra pelos nomes terminados pelo que está no text do edit não importando como começa... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer QUEIJO, BEIJO, etc...
filtra pelos nomes que contém o text do edit não importando como termina ou começa... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer JOAO, JOSE, MAJOR, QUEIJO, BEIJO, etc...
só uma dica : o título do seu tópico com o ´Experts´ desencoraja a visitação... além disso desmerece as respostas dos colegas para uma questão relativamente simples...
espero ter ajudado...
Que propriedade é essa ParamByind_nome ?
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
vc estah usando o LIKE, ou seja vc estah pesquisando por aproximação então 1 ou 2 [color=red:6cf548245c]¬[/color:6cf548245c] é regra...
exemplos :
query1.ParamByName(´nome´).AsString:= edit1.Text+´¬´;
filtra pelos nomes iniciados pelo que está no text do edit não importando como termina... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer JOAO, JOSE, JORGE, etc...
query1.ParamByName(´nome´).AsString:= ´¬´+edit1.Text;
filtra pelos nomes terminados pelo que está no text do edit não importando como começa... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer QUEIJO, BEIJO, etc...
query1.ParamByName(´nome´).AsString:= ´¬´+edit1.Text+´¬´;
filtra pelos nomes que contém o text do edit não importando como termina ou começa... se no text estiver [color=red:6cf548245c]JO[/color:6cf548245c] ele vai trazer JOAO, JOSE, MAJOR, QUEIJO, BEIJO, etc...
só uma dica : o título do seu tópico com o ´Experts´ desencoraja a visitação... além disso desmerece as respostas dos colegas para uma questão relativamente simples...
espero ter ajudado...
GOSTEI 0
Tarcisiojr
30/01/2004
Júlio,
Que propriedade é essa ParamByind_nome ?
vc estah usando o LIKE, ou seja vc estah pesquisando por aproximação então 1 ou 2 [color=red:77b79eec76]¬[/color:77b79eec76] é regra...
exemplos :
filtra pelos nomes iniciados pelo que está no text do edit não importando como termina... se no text estiver [color=red:77b79eec76]JO[/color:77b79eec76] ele vai trazer JOAO, JOSE, JORGE, etc...
filtra pelos nomes terminados pelo que está no text do edit não importando como começa... se no text estiver [color=red:77b79eec76]JO[/color:77b79eec76] ele vai trazer QUEIJO, BEIJO, etc...
filtra pelos nomes que contém o text do edit não importando como termina ou começa... se no text estiver [color=red:77b79eec76]JO[/color:77b79eec76] ele vai trazer JOAO, JOSE, MAJOR, QUEIJO, BEIJO, etc...
só uma dica : o título do seu tópico com o ´Experts´ desencoraja a visitação... além disso desmerece as respostas dos colegas para uma questão relativamente simples...
espero ter ajudado...
Query1.ParamByind_nome(´Nome´).AsString:=´¬´
query1.ParamByName(´nome´).AsString:= edit1.Text+´¬´;
query1.ParamByName(´nome´).AsString:= ´¬´+edit1.Text;
query1.ParamByName(´nome´).AsString:= ´¬´+edit1.Text+´¬´;
Eu prefiro programar com QUERY assim:
em vez de usar parambyname eh melhor escrever a sql tudo de uma vez eh muito mais pratico e rapido.
tipo exemplo:
With Query1 do begin
Close;
Sql.Clear; //Limpa o conteudo da sql
Sql.Add(´ Select * From clientes ´); // seleciona a tabela
Sql.Add(´ Where ind_Nome Like ´¬´+Edit1.text+´¬´´); // filtra o campo ind_Nome tanto faz o edit1 ta preenchido ou nao ele funfa normal.
Sql.Add(´ Order By ind_Nome ´); //organiza por ordem do campo ind_Nome
Open; //abre query
First; //posiciona o cursor no 1o registro
end;
By Tarcisio Jr.
Ps. Espero ter ajudado amigos....
GOSTEI 0