Autoincremento usando quot;incquot;, alguém pode me ajudar
Estou usando este código para autoincrementar o campo CODIGO da Tabela de OS automaticamente, mas esta me retornando a mensagem ´is not a valid integer value´. Minha tabela é paradox e o campo CODIGO(DBEdit38) e CODIGOCLIENTE(DBEdit39) são do tipo ´long integer´.
Já fiz isso em outros programas, mas não encontro o erro desta vez.
legenda:
Fdados= datamodule onde guardo minhas tabelas
TBOs= tabela de OS
...
var cod:integer;
begin
FDados.TBOS.last;
cod:=FDados.TBOSCodigo.value;
inc(cod);
FDados.TBOS.append;
DBEdit38.text:=inttostr(cod);
DBEdit39.setfocus;
end;
...
Já fiz isso em outros programas, mas não encontro o erro desta vez.
legenda:
Fdados= datamodule onde guardo minhas tabelas
TBOs= tabela de OS
...
var cod:integer;
begin
FDados.TBOS.last;
cod:=FDados.TBOSCodigo.value;
inc(cod);
FDados.TBOS.append;
DBEdit38.text:=inttostr(cod);
DBEdit39.setfocus;
end;
...
Luizgv
Curtidas 0
Respostas
Anonymous
08/03/2003
experimente utilizar um campo autoincremento no paradox
no caso citado tente utilizar
var cod:integer;
begin
FDados.TBOS.last;
cod:=FDados.TBOSCodigo.value;
inc(cod);
FDados.TBOS.append;
FDados.TBOSCodigo.value := cod;
DBEdit39.setfocus;
end;
eu acho mais seguro utilizar uma query
sql
select max(codigo) as cod from os
begin
query1.close;
query1.open;
FDados.TBOS.append;
FDados.TBOSCodigo.value := query1.fieldbyname(´cod´).value + 1;
DBEdit39.setfocus;
end;
no caso citado tente utilizar
var cod:integer;
begin
FDados.TBOS.last;
cod:=FDados.TBOSCodigo.value;
inc(cod);
FDados.TBOS.append;
FDados.TBOSCodigo.value := cod;
DBEdit39.setfocus;
end;
eu acho mais seguro utilizar uma query
sql
select max(codigo) as cod from os
begin
query1.close;
query1.open;
FDados.TBOS.append;
FDados.TBOSCodigo.value := query1.fieldbyname(´cod´).value + 1;
DBEdit39.setfocus;
end;
GOSTEI 0
Anonymous
08/03/2003
Tente usar
cod:=FDados.TBOSCodigo.asInteger;
cod:=FDados.TBOSCodigo.asInteger;
GOSTEI 0