Buscar cidade, digitando código no Edit
25/10/2007
0
aee pessoal!
como que eu poderia fazer para o seguinte:
Tenho os seguintes edits:
[edtCidade] [Cidade]
daí no campo edtCidade, eu digito um código existente e, ao teclar ENTER, o sistema fará uma busca em uma tabela e nesta busca, retornará a cidade... Como que eu poderia fazer? sendo que no delphi, tenho assim o meu código, no OnExit do edit:
procedure TDMGERAL.retorna1(Sender: TObject; ARQUIVO,BUSCA,RETORNO,CAMPO,FILIAL: String);
begin
IF (Sender AS TDBEDIT).DATASOURCE.DATASET.STATE IN [DSEDIT,DSINSERT] THEN
BEGIN
IF (Sender AS TDBEDIT).Text = ´´ THEN
BEGIN
ShowMessage(´Preencha este campo !´);
if campo<>´´ then
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
(Sender AS TDBEDIT).SetFocus;
Abort;
END;
CDSCOM.Close;
IF FILIAL = ´S´ THEN
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´ AND ´+ARQUIVO+´.CFILIAL = ´+INTTOSTR(FILIALATUAL)
ELSE
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´´;
CDSCOM.Open;
IF CDSCOM.RecordCount > 0 THEN
BEGIN
IF (CAMPO<>´´) AND ((SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING <> CDSCOM.Fields[0].AsString) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := CDSCOM.Fields[0].AsString;
END
ELSE
BEGIN
IF (CAMPO<>´´) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
SHOWMESSAGE(´Registro não localizado !´);
(SENDER AS TDBEDIT).SETFOCUS;
END;
CDSCOM.CLOSE;
END;
end;
Desde já, agradeço...
Obrigado!
como que eu poderia fazer para o seguinte:
Tenho os seguintes edits:
[edtCidade] [Cidade]
daí no campo edtCidade, eu digito um código existente e, ao teclar ENTER, o sistema fará uma busca em uma tabela e nesta busca, retornará a cidade... Como que eu poderia fazer? sendo que no delphi, tenho assim o meu código, no OnExit do edit:
procedure TDMGERAL.retorna1(Sender: TObject; ARQUIVO,BUSCA,RETORNO,CAMPO,FILIAL: String);
begin
IF (Sender AS TDBEDIT).DATASOURCE.DATASET.STATE IN [DSEDIT,DSINSERT] THEN
BEGIN
IF (Sender AS TDBEDIT).Text = ´´ THEN
BEGIN
ShowMessage(´Preencha este campo !´);
if campo<>´´ then
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
(Sender AS TDBEDIT).SetFocus;
Abort;
END;
CDSCOM.Close;
IF FILIAL = ´S´ THEN
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´ AND ´+ARQUIVO+´.CFILIAL = ´+INTTOSTR(FILIALATUAL)
ELSE
CDSCOM.CommandText := ´SELECT ´+RETORNO+´ FROM ´+ARQUIVO+´ WHERE ´+BUSCA+´ = ´´´+(SENDER AS TDBEDIT).TEXT+´´´´;
CDSCOM.Open;
IF CDSCOM.RecordCount > 0 THEN
BEGIN
IF (CAMPO<>´´) AND ((SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING <> CDSCOM.Fields[0].AsString) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := CDSCOM.Fields[0].AsString;
END
ELSE
BEGIN
IF (CAMPO<>´´) THEN
(SENDER AS TDBEDIT).DATASOURCE.DATASET.FIELDBYNAME(CAMPO).ASSTRING := ´´;
SHOWMESSAGE(´Registro não localizado !´);
(SENDER AS TDBEDIT).SETFOCUS;
END;
CDSCOM.CLOSE;
END;
end;
Desde já, agradeço...
Obrigado!
Lucas_spohr
Curtir tópico
+ 0
Responder
Posts
26/10/2007
Markapollo
amigo, isto não é C#, acho que deveria ter postado no fórum sobre delphi.
Responder
26/10/2007
Lucas_spohr
bahhh!! perdão...
desculpe-me, mas faltou implementar na minha mensagem... quero esta função, em C#...
Esta função, eu tenho no delphi que fará exatamente isso que eu preciso. Só que agora, preciso implementar isso em um projeto feito com C... Entendeu?
Obrigado!
desculpe-me, mas faltou implementar na minha mensagem... quero esta função, em C#...
Esta função, eu tenho no delphi que fará exatamente isso que eu preciso. Só que agora, preciso implementar isso em um projeto feito com C... Entendeu?
Obrigado!
Responder
Clique aqui para fazer login e interagir na Comunidade :)