Incremento Personalizado
Pessoal estou começando a trabalhar com DELPHI, e com certeza preciso da ajuda de vcs. Connheço ACCESS e agora quero migrar o aplicativo que fiz para DELPHI, dar uma cara comercial.
Gostaria que me esclaressem, ou seja, como ficaria o codigo em ACCESS que me da um incremento personalizado para o N_Contrato, buscando o ultimo registro da TABLE e acrescentando +1.
=SeImed(DContar(´[NumeroContrato]´;´Contratos´)=0;1;DMáx(´[NumeroContrato]´;´Contratos´)+1)
Outra opção, seria criar uma tabela ´TabContrato´ com o campo ´ContratoInicial´ que armazena o número inicial dos contratos. Desse modo, a expressão acima ficaria assim:
=SeImed(DContar(´[NumeroContrato]´;´Contratos´)=0;DLookup(´[ContratoInicial]´;´TabContrato´);DMáx(´[NumeroContrato]´;´Contratos´)+1)
Conto com a pasciencia e ajuda de vcs. []´s SrBrown
Gostaria que me esclaressem, ou seja, como ficaria o codigo em ACCESS que me da um incremento personalizado para o N_Contrato, buscando o ultimo registro da TABLE e acrescentando +1.
=SeImed(DContar(´[NumeroContrato]´;´Contratos´)=0;1;DMáx(´[NumeroContrato]´;´Contratos´)+1)
Outra opção, seria criar uma tabela ´TabContrato´ com o campo ´ContratoInicial´ que armazena o número inicial dos contratos. Desse modo, a expressão acima ficaria assim:
=SeImed(DContar(´[NumeroContrato]´;´Contratos´)=0;DLookup(´[ContratoInicial]´;´TabContrato´);DMáx(´[NumeroContrato]´;´Contratos´)+1)
Conto com a pasciencia e ajuda de vcs. []´s SrBrown
Srbrown
Curtidas 0
Respostas
Wtjunior
27/03/2004
Qual Banco de Dados vc vai usar....
Interbase/Firebird existe o Generator
Oracle Sequence
Paradox (não considero BD) - auto incremente....
por aí afora
um abraço
Wilson
Interbase/Firebird existe o Generator
Oracle Sequence
Paradox (não considero BD) - auto incremente....
por aí afora
um abraço
Wilson
GOSTEI 0
Adeilson_alves
27/03/2004
existe um tipo de campo que ja faz o autoincremento, mas tem outro modo, o tipo do campo tem ser numerico ou shortInt:
vc faz assim:
var
Num: Integer;
begin
Table1.Open;
Table1.Last;
Num := Table1.FieldByName(´Codigo´).AsInteger;
Inc(Num); // incrementa mais um
//se for incremento dois vc faz assim Inc(Num,2ou3)
Table1.Insert;
Table1.FieldByName(´Código´).AsInteger := Num;
....
// os outros campos
Table1.Post;
//salva o registro
Table1.Close;
vc faz assim:
var
Num: Integer;
begin
Table1.Open;
Table1.Last;
Num := Table1.FieldByName(´Codigo´).AsInteger;
Inc(Num); // incrementa mais um
//se for incremento dois vc faz assim Inc(Num,2ou3)
Table1.Insert;
Table1.FieldByName(´Código´).AsInteger := Num;
....
// os outros campos
Table1.Post;
//salva o registro
Table1.Close;
GOSTEI 0