Consulta de Pesquisar
Ola eu mandei um tópico aqui , mais to tentando fazer de outro geito tb
procedure TfrmConsulCidades.edtBusIncleChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´;
Tamanho := Length(edtBusIncle.Text);
edtBusIncle.text := palavra;
edtBusIncle.SelStart := Tamanho;
edtBusIncle.SelLength := Length(edtBusIncle.text) - Tamanho;
Só que quando eu vou digitar no edit para procurar no DBGrid
só aparece a palavra CIDADE, ou seja tudo que eu escrevo no
comando .
palavra := ´CIDADE´
aparece apenas a palavra CIDADE dentro do Edit.
como eu posso fazer para poder digitar qualquer palavra para efetivar a
busca?
procedure TfrmConsulCidades.edtBusIncleChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´;
Tamanho := Length(edtBusIncle.Text);
edtBusIncle.text := palavra;
edtBusIncle.SelStart := Tamanho;
edtBusIncle.SelLength := Length(edtBusIncle.text) - Tamanho;
Só que quando eu vou digitar no edit para procurar no DBGrid
só aparece a palavra CIDADE, ou seja tudo que eu escrevo no
comando .
palavra := ´CIDADE´
aparece apenas a palavra CIDADE dentro do Edit.
como eu posso fazer para poder digitar qualquer palavra para efetivar a
busca?
Rodlima
Curtidas 0
Respostas
Mazzi
25/04/2008
Ola, isso esta acontecendo porque vc definiu a variavel PALAVRA com uma constante ´CIDADE´, ou seja sempre que vc iniciar essa funcao a var PALAVRA esta sendo iniciada erroneamente pela string ´CIDADE´.
O certo se vc quer passar por paramentro qq coisa eh criar um metodo, uma funcao, que permita isso. Ex:
function pegarString (campo_Texto:String):Boolean
begin
if ((campo_Texto <> Null) and (campo_Texto <>´´)) then
result := campo_Texto;
// ou edit1.text := campo_Texto;
end;
Tente ver se deu pra dar uma clareada na ideia, senao, eu vc me posta e eu te ajudo passo-a-passo.
VC vera que criar metodos assim ajudam muito posteriormente.
Abraços.
O certo se vc quer passar por paramentro qq coisa eh criar um metodo, uma funcao, que permita isso. Ex:
function pegarString (campo_Texto:String):Boolean
begin
if ((campo_Texto <> Null) and (campo_Texto <>´´)) then
result := campo_Texto;
// ou edit1.text := campo_Texto;
end;
Tente ver se deu pra dar uma clareada na ideia, senao, eu vc me posta e eu te ajudo passo-a-passo.
VC vera que criar metodos assim ajudam muito posteriormente.
Abraços.
GOSTEI 0
Rodlima
25/04/2008
Ola, isso esta acontecendo porque vc definiu a variavel PALAVRA com uma constante ´CIDADE´, ou seja sempre que vc iniciar essa funcao a var PALAVRA esta sendo iniciada erroneamente pela string ´CIDADE´.
O certo se vc quer passar por paramentro qq coisa eh criar um metodo, uma funcao, que permita isso. Ex:
function pegarString (campo_Texto:String):Boolean
begin
if ((campo_Texto <> Null) and (campo_Texto <>´´)) then
result := campo_Texto;
// ou edit1.text := campo_Texto;
end;
Tente ver se deu pra dar uma clareada na ideia, senao, eu vc me posta e eu te ajudo passo-a-passo.
VC vera que criar metodos assim ajudam muito posteriormente.
Abraços.
Bom Dia Amigo!
Olha dentro do edtPesquisa eu coloquei o Segundo Código.
procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´;
Tamanho := Length(edtPesquisa.Text);
edtPesquisa.text := palavra;
edtPesquisa.SelStart := Tamanho;
edtPesquisa.SelLength := Length(edtPesquisa.text) - Tamanho;
end;
function TfrmPesquisaCidade.pegarString(campo_Texto: String): Boolean;
begin
if ((campo_Texto <> Null) and (campo_Texto <>´´)) then
edtPesquisa.Text := campo_texto;
//result := campo_Texto;
// ou edit1.text := campo_Texto;
end;
caro amigo eu fiz a function que voce falo.
só que estou Citando a Palavra CIDADE ainda o que eu posso fazer pq ela
continua aparecendo dentro do edit quando eu digito qualquer coisa só aparece esse campo CIDADE .
Muito Obrigado
GOSTEI 0
Mazzi
25/04/2008
Pois eh... mas analise o codigo comigo...
vc está iniciando um [i]evento[/i] OnChange no editPesquisa.
-1) isso indica que tudo que vc digitar lah vai acionar esse método;
Ex:[b]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject); [/b]
-2) Vc criou DENTRO desse Evento uma variavel Palavra do Tipo String;
-3) Vc inicializou essa palavra com uma String ´CIDADE´;
-4)Ex:
[b]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´; [/b]
-5) Vc está acionando o conteudo da variavel Palavra para o componente EdtPesquisa.text
Ex:
[b]edtPesquisa.text := palavra;[/b]
Portanto sempre vai acontecer isso mesmo, vai sempre aparecer a String ´ Cidade´.
--------------------------------------------------------------------------------
COMO COLOCAR UM CONTEUDO DINAMICO :P
--------------------------------------------------------------------------------
1- Insira um EditPesquisa(até ai OK)
2- Insira um DbGrid, e coloque um DataSet nele que seja uma Query que busque os dados que vc queira, Ex:
SELECT * FROM CIDADES;
3-Teste a sua SQL com a sua Tabela e veja se dá algum erro, se sim, retorne a SQL e corrija.
3.1- Conecte corretamente o DataSource para a DbGrid
4- Dentro do EditPesquisa , no evento onChange, insira:
Query.Close;
Query.SQL.CLear;
Query.SQL.ADD(´SELECT * FROM CIDADE WHERE CIDADE=´+QuotedStr(edtPesquisa.text));
Query.Open;
Pronto!
Ao vc ir digitando irá aparecer na sua Grid as cidades que vc quer.
------------------------------------------------------------------------------
Outra Forma use um DBLoockupComboBox (Palheta DataControls, ou use o component da RxLib) que fazem isso pra vc sem muito trabalho.
só basta conectar ao mesmo DataSource, tanto no dbLoockupComboBox, qto ao DataSource no dbGrid
------------------------------------------------------------------------------
Espero ter ajudado.
Abraços++
vc está iniciando um [i]evento[/i] OnChange no editPesquisa.
-1) isso indica que tudo que vc digitar lah vai acionar esse método;
Ex:[b]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject); [/b]
-2) Vc criou DENTRO desse Evento uma variavel Palavra do Tipo String;
-3) Vc inicializou essa palavra com uma String ´CIDADE´;
-4)Ex:
[b]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´; [/b]
-5) Vc está acionando o conteudo da variavel Palavra para o componente EdtPesquisa.text
Ex:
[b]edtPesquisa.text := palavra;[/b]
Portanto sempre vai acontecer isso mesmo, vai sempre aparecer a String ´ Cidade´.
--------------------------------------------------------------------------------
COMO COLOCAR UM CONTEUDO DINAMICO :P
--------------------------------------------------------------------------------
1- Insira um EditPesquisa(até ai OK)
2- Insira um DbGrid, e coloque um DataSet nele que seja uma Query que busque os dados que vc queira, Ex:
SELECT * FROM CIDADES;
3-Teste a sua SQL com a sua Tabela e veja se dá algum erro, se sim, retorne a SQL e corrija.
3.1- Conecte corretamente o DataSource para a DbGrid
4- Dentro do EditPesquisa , no evento onChange, insira:
Query.Close;
Query.SQL.CLear;
Query.SQL.ADD(´SELECT * FROM CIDADE WHERE CIDADE=´+QuotedStr(edtPesquisa.text));
Query.Open;
Pronto!
Ao vc ir digitando irá aparecer na sua Grid as cidades que vc quer.
------------------------------------------------------------------------------
Outra Forma use um DBLoockupComboBox (Palheta DataControls, ou use o component da RxLib) que fazem isso pra vc sem muito trabalho.
só basta conectar ao mesmo DataSource, tanto no dbLoockupComboBox, qto ao DataSource no dbGrid
------------------------------------------------------------------------------
Espero ter ajudado.
Abraços++
GOSTEI 0
Rodlima
25/04/2008
Pois eh... mas analise o codigo comigo...
vc está iniciando um [i:dce7789a88]evento[/i:dce7789a88] OnChange no editPesquisa.
-1) isso indica que tudo que vc digitar lah vai acionar esse método;
Ex:[b:dce7789a88]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject); [/b:dce7789a88]
-2) Vc criou DENTRO desse Evento uma variavel Palavra do Tipo String;
-3) Vc inicializou essa palavra com uma String ´CIDADE´;
-4)Ex:
[b:dce7789a88]procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
var
Palavra:string;
Tamanho:integer;
begin
Palavra := ´ CIDADE´; [/b:dce7789a88]
-5) Vc está acionando o conteudo da variavel Palavra para o componente EdtPesquisa.text
Ex:
[b:dce7789a88]edtPesquisa.text := palavra;[/b:dce7789a88]
Portanto sempre vai acontecer isso mesmo, vai sempre aparecer a String ´ Cidade´.
--------------------------------------------------------------------------------
COMO COLOCAR UM CONTEUDO DINAMICO :P
--------------------------------------------------------------------------------
1- Insira um EditPesquisa(até ai OK)
2- Insira um DbGrid, e coloque um DataSet nele que seja uma Query que busque os dados que vc queira, Ex:
SELECT * FROM CIDADES;
3-Teste a sua SQL com a sua Tabela e veja se dá algum erro, se sim, retorne a SQL e corrija.
3.1- Conecte corretamente o DataSource para a DbGrid
4- Dentro do EditPesquisa , no evento onChange, insira:
Query.Close;
Query.SQL.CLear;
Query.SQL.ADD(´SELECT * FROM CIDADE WHERE CIDADE=´+QuotedStr(edtPesquisa.text));
Query.Open;
Pronto!
Ao vc ir digitando irá aparecer na sua Grid as cidades que vc quer.
------------------------------------------------------------------------------
Outra Forma use um DBLoockupComboBox (Palheta DataControls, ou use o component da RxLib) que fazem isso pra vc sem muito trabalho.
só basta conectar ao mesmo DataSource, tanto no dbLoockupComboBox, qto ao DataSource no dbGrid
------------------------------------------------------------------------------
Espero ter ajudado.
Abraços++
Boa Tarde Grande Amigo!
eu colei uma Query dentro do DBGrid e colequei um SQL assim:
SELECT
ID_CODIGO, CIDADE, UF
FROM CAD_CIDADE
ORDER BY CIDADE
Dentro do EditPesquisa , no evento onChange eu coquei esse código aqui:
procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
begin
SQLQuery1.Close;
SQLQuery1.SQL.CLear;
//acho que nao eh assim é o de baixo
//SQLQuery1.SQL.ADD(´SELECT * FROM CIDADE WHERE CIDADE=´+QuotedStr(edtPesquisa.text));
//acho que é assim que usa
//SQLQuery1.SQL.ADD(´SELECT CIDADE, UF FROM CAD_CIDADE WHERE=´+QuotedStr(edtPesquisa.text));
//Eu do um Bleak Group só que nesse ultimo código aqui ele da problema: aparece uma menssagem de erro: Return value of function ´TfrmPesquisaCidade.pegarString´might be undefined
SQLQuery1.Open;
SQLQuery1.Close;
SQLQuery1.SQL.CLear;
SQLQuery1.SQL.ADD(´SELECT CIDADE, UF FROM CAD_CIDADE WHERE=´+QuotedStr(edtPesquisa.text));
SQLQuery1.Open; //Erro Aqui.
GOSTEI 0
Facc
25/04/2008
Amigo...
Tente assim
[code]SQLQuery1.SQL.ADD(´SELECT CIDADE, UF FROM CAD_CIDADE WHERE CIDADE = ´+QuotedStr(edtPesquisa.text));[\code]
Tente assim
[code]SQLQuery1.SQL.ADD(´SELECT CIDADE, UF FROM CAD_CIDADE WHERE CIDADE = ´+QuotedStr(edtPesquisa.text));[\code]
GOSTEI 0
Rodlima
25/04/2008
Ei Amigos
Muito Obrigado!
Agora deu Certo aqui!!!
ficou assim!!
procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
begin
cdsCidade.Close;
qryCidade.Close;
qryCidade.SQL.CLear;
qryCidade.SQL.ADD(´SELECT * FROM CAD_CIDADE WHERE UPPER(CIDADE) LIKE ´+
UpperCase(quotedStr(´¬´+edtPesquisa.text+´¬´)+´ORDER BY CIDADE ASC´));
qryCidade.Open;
cdsCidade.Open;
end;
Valeu!!!
Rodolfo Lima
Muito Obrigado!
Agora deu Certo aqui!!!
ficou assim!!
procedure TfrmPesquisaCidade.edtPesquisaChange(Sender: TObject);
begin
cdsCidade.Close;
qryCidade.Close;
qryCidade.SQL.CLear;
qryCidade.SQL.ADD(´SELECT * FROM CAD_CIDADE WHERE UPPER(CIDADE) LIKE ´+
UpperCase(quotedStr(´¬´+edtPesquisa.text+´¬´)+´ORDER BY CIDADE ASC´));
qryCidade.Open;
cdsCidade.Open;
end;
Valeu!!!
Rodolfo Lima
GOSTEI 0
Mazzi
25/04/2008
Que legal, parabens!
agora acho q ficou show mesmo!
Abraços++
agora acho q ficou show mesmo!
Abraços++
GOSTEI 0
Rodlima
25/04/2008
Que legal, parabens!
agora acho q ficou show mesmo!
Abraços++
Grande Amigo!!
Boa Tarde Gostaria dee mais uma ajuda Para a Finalizãção do Processo!
Eu Tenho um Formulario de Cadastro de Remetente, dentro dele tem um Edit Para voce colocar o nome da Cidade ,Mais voce tem a alternativa de ir Consultar a cidade, Quando vou ao formulario de consultas de Cidade,
eu tenho um edit que busca a cidade dentro de um DBGrid até então esta certo. só que logo quando eu Busca a Cidade Certa eu Gostaria de Clicar em um botão e Levar o campo com o nome da Cidade que escolhi para o edit do primeiro form.
Tente me Ajudar!!
Muito Obrigado!!!
GOSTEI 0
Dbergkamps10
25/04/2008
Olá rodlima,
Para tentar resolver o seu problema, tente utilizar DBLookCombobox, para carregar os nomes da cidades já cadastradas.
Att
Dalton
Para tentar resolver o seu problema, tente utilizar DBLookCombobox, para carregar os nomes da cidades já cadastradas.
Att
Dalton
GOSTEI 0