Fórum editar ou inserir #287041

05/07/2005

0

Tenho a Seguinte condicao:
Se existir o registro, edita e grava normal. Isso esta fazendo.

Se nao existir, inseri um registro em branco. O problema é que dai nao consigo digitar um novo codigo. E se eu nao appendo, mesmo nao existindo um registro, nao deixa eu incluir um novo.

A procedure esta na saida do campo.


if not (datamodulo.ADOTable1.Locate(´empregado_codCarta´,Edit1.text,[])) then
begin
showmessage(´inserir´);

Datamodulo.ADOTable1.append

end
else
showmessage(´editar passou´) ;
grava:=´EDITAR´;


Gilcwb

Gilcwb

Responder

Posts

06/07/2005

Paullsoftware

eu faço assim e sempre funcionou:::

detalhe uso tquery
//Lança a locação na tabela totaldia...
  DM_BANCO.TOTALDIA.Close;
  DM_BANCO.TOTALDIA.CommandText:=´Select * FROM TOTALDIA Where DATACAIXA like ´+ chr(39)+FormatDateTime(´dd/mm/yyyy´,Now)+chr(39);
  DM_BANCO.TOTALDIA.Open;
  if DM_BANCO.TOTALDIA.RecordCount <= 0 then
  begin
  DM_BANCO.TOTALDIA.Insert;
  DM_BANCO.TOTALDIADATACAIXA.AsString := FormatDateTime(´dd/mm/yyyy´,now);
  DM_BANCO.TOTALDIALOCACOES.AsFloat := DM_BANCO.TOTALDIALOCACOES.AsFloat + 1;
  end else
  begin
  DM_BANCO.TOTALDIA.Edit;
  DM_BANCO.TOTALDIADATACAIXA.AsString := FormatDateTime(´dd/mm/yyyy´,now);
  DM_BANCO.TOTALDIALOCACOES.AsFloat := DM_BANCO.TOTALDIALOCACOES.AsFloat + 1;
  end;



no teu caso faz o seguinte:
datamodulo.ADOTable1.Open;
datamodulo.ADOTable1.Locate(´empregado_codCarta´,Edit1.text,[])
if datamodulo.ADOTable1.RecordCount<=0 then
begin
showmessage(´inserir´); 
Datamodulo.ADOTable1.append 
end 
else 
showmessage(´editar passou´) ; 
grava:=´EDITAR´;
end;

//Espero ter ajudado
a melhor forma de usar o que vc quer fazer o com Query o processo se torna mais rápido...
:wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar