usando locate para validar edits
amigos, bom dia!,
estou precisando de uma ajudinha. Estou tentando efetuar uma validação de edits através do comando locate, porém não estou obtendo sucesso pelo seguinte:
exemplo: tenho um edit edtdescricao.text e fiz a seguinte rotina ao clicar no botão incluir:
var numreg:Integer;
procedure TfrmProdutos.btnNovoClick(Sender: TObject);
begin
Ativar(false);
DesAtivar(true);
//Inserir
with dm do
begin
tabProdutos.open;
tabProdutos.Last;
ProxNum:=tabProdutos.FieldByname(´CodigoProd´).AsInteger+1;
tabProdutos.Append;
end;
procedure TfrmProdutos.dbeDescricaoKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
showmessage(´Já cadastrado´);
abort;
edtdescricao.setfocus;
end;
end.
- ocorre que a tabela passa para o estado close dataset.
estou precisando de uma ajudinha. Estou tentando efetuar uma validação de edits através do comando locate, porém não estou obtendo sucesso pelo seguinte:
exemplo: tenho um edit edtdescricao.text e fiz a seguinte rotina ao clicar no botão incluir:
var numreg:Integer;
procedure TfrmProdutos.btnNovoClick(Sender: TObject);
begin
Ativar(false);
DesAtivar(true);
//Inserir
with dm do
begin
tabProdutos.open;
tabProdutos.Last;
ProxNum:=tabProdutos.FieldByname(´CodigoProd´).AsInteger+1;
tabProdutos.Append;
end;
procedure TfrmProdutos.dbeDescricaoKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
showmessage(´Já cadastrado´);
abort;
edtdescricao.setfocus;
end;
end.
- ocorre que a tabela passa para o estado close dataset.
Canario
Curtidas 0
Respostas
Rjun
22/10/2004
Acho que o abort só deveria acontecer se o produto ja estivesse cadastrado. Entao coloque um begin para o if then...
if key = #13 then
begin
showmessage(´Já cadastrado´);
abort;
exit;
end;
edtdescricao.setfocus;
if key = #13 then
begin
showmessage(´Já cadastrado´);
abort;
exit;
end;
edtdescricao.setfocus;
GOSTEI 0
Rômulo Barros
22/10/2004
With(dm)Do Begin If(TbProdutos.Locate(´CodProd´,dbedtCodigo.Text,[]))Then Begin ShowMessage(´Produto já cadastrado´); Exit; End; End;
GOSTEI 0