Fórum Consulta query #225233
11/04/2004
0
Sou iniciante.
Uso o Delphi 6 e as vezes o Delphi 7 -> DBD32
Quero fazer um consulta.
tenho: Query1, DBGrid1 e Edit1
1 - Quando entro no Edit1 se digitar numero a Query1
será:
(coloquei no evento onchange do Edit1)
QryCampos.Close;
QryCampos.Sql.Clear;
QryCampos.Sql.Add(´Select * From Campos´);
QryCampos.Sql.Add(´Where Codigo>= ´´´+Edit1.Text+´´´´);
QryCampos.Sql.Add(´ORDER BY Codigo´);
QryCampos.Open;
QryCampos.FindFirst;
2 - Quando entro no Edit1 se digitar letra a Query1
será:
(coloquei no evento onchange do Edit1)
QryCampos.Close;
QryCampos.Sql.Clear;
QryCampos.Sql.Add(´Select * From Campos´);
QryCampos.Sql.Add(´Where Nome Like ´+´´´´+´¬´+ Edit1.Text + ´¬´+´´´´);
QryCampos.Sql.Add(´ORDER BY Nome´);
QryCampos.Open;
QryCampos.FindFirst;
3 - Quando entro no Edit1 com um caracter diferente de numero ou letra
deverá não fazer nada ou ´mensagem registro não encontrado´ .
Não sei fazer.
4 - Isoladamente a 1 e a 2 funcionam queria validar o Edit1 para qualquer das
opções 1, 2 ou 3.
Paulo Drozinski
Curtir tópico
+ 0Posts
11/04/2004
Fabio.hc
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key in [´0´..´9´]) then begin pesquisa:=pesquisa+key; QryCampos.Close; QryCampos.Sql.Text(´Select * From Campos Where Codigo >= :codigo ORDER BY Codigo´); QryCampos.ParamByName(´codigo´).AsInteger:=StrToInt(pesquisa); QryCampos.Open; QryCampos.FindFirst; end else if (Key in [´A´..´Z´]) then begin pesquisa:=pesquisa+key; QryCampos.Close; QryCampos.SQL.Text:=´Select * From Campos where Where Nome Like :nome´; QryCampos.ParamByName(´nome´).Value:=pesquisa+´¬´; QryCampos.Open; end else if (Key = 8) then pesquisa:=copy(pesquisa,1,length(pesquisa)-1) else if (Key <> 13) then ShowMessage(´Caracter invalido!´); end;
Gostei + 0
11/04/2004
Paulo Drozinski
MUITO OBRIGADO VALEU
QUALQUER COISA ESTOU AS ORDENS
SAUDAÇÕES
DROZINSKI :D
Gostei + 0
11/04/2004
Paulo Drozinski
Caro Amigo fábio HC
deu uma zebra.
QryCampos.Sql.Text(´Select * From Campos Where Codigo >= :codigo ORDER BY Codigo´); - > trava a compilação neste local -> ´ missing opertor or semicolon´ não deu para testar o resto ?
preciso declarar uma variável ´var pesquisa: String; ??
ou pesquisa substitui o edit1?
sou obrigado a usar no evento onkeypress ?
não posso usar no evento onchange e criar a var key : Tchar
se puderes me dá mais um toque.
grato
drozinski
Gostei + 0
11/04/2004
Fabio.hc
A sintaxe certa é:
QryCampos.Sql.Text:=´Select * From Campos Where Codigo >= :codigo ORDER BY Codigo´;
[b:1edbd7f4bd]preciso declarar uma variável ´var pesquisa: String; ??[/b:1edbd7f4bd]
Precisa.
var
Form1: TForm1;
pesquisa:string;
[b:1edbd7f4bd]ou pesquisa substitui o edit1? [/b:1edbd7f4bd]
Substitui
[b:1edbd7f4bd]sou obrigado a usar no evento onkeypress ?
não posso usar no evento onchange e criar a var key : Tchar [/b:1edbd7f4bd]
Não, vc coloca o codigo no onchange e testa se é letra ou número q foi pressionado para rodar a query correspondente.
Gostei + 0
11/04/2004
Paulo Drozinski
SAUDAÇÕES
DROZINSKI
Gostei + 0
11/04/2004
Paulo Drozinski
FUNCIONOU QUE É UMA MARAVILHA
NOTA 10 PARA TI.
ESTA ROTINA DICA DÁ PARA MANDARES PARA O REPOSITÓRIO DO CLUBE É MUITO ÚTIL PARA TODOS.
JÁ VI QUE ENTENDES DO RISCADO.
TENHO UMA PERGUNTA PEPINÃO, UM VERDADIRO DESAFIO PARA OS ´EXPERTS´ ATÉ AGORA NÃO CONSEGUI UMA RESPOSTA.
ESTA PERGUNTA SÓ PODE SER FEITA COM ILUSTRAÇÔES DE BMP´S
POIS TEM MUITAS REFERENCIAS E INDICAÇÕES DIFÍCEIS DE EXPLICAR.
CASO POSSA FAZER O FAVOR DE TENTAR :roll: TE MANDO UM EMAIL.
MEU ENDEREÇO É empretec.eng@terra.com.br
saudações
DROZINSKI
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)