Fórum Mostrar Auto Increment no TDEdit #348426
05/11/2007
0
Tenho um campo Auto Increment e não aparece no TDEdit antes de incluiro registro estou usando o PARADOX, já tentei de algumas formas, mas não deu certo.
Se alguem tiver alguma dica ou o código.
Desde já muito obrigado.
Mano_froids
Curtir tópico
+ 0Posts
05/11/2007
Godzilla_xf
O Incremento automatico do codigo so acontece depois que vc der um post na tabela, caso vc queira que ele crie um codigo antes de salvar, vc tem que desenvolver uma pequena rotina que verifica qual o maior codigo e acrescentar + 1;
Gostei + 0
06/11/2007
Mano_froids
Gostei + 0
06/11/2007
Godzilla_xf
Digamos que vc tenha uma tabela de nome cad_alunos
[b:c3c925a9fc]cad_alunos
[i:c3c925a9fc]id_aluno
nome
endereco
bla
bla
[/i:c3c925a9fc][/b:c3c925a9fc]
e na sua aplicação vc tem um form com os campos desta tabela, para insert delete edit e assim por diante.
bem faça da seguinte forma:
Antes de dar um post por de ser no evendo [b:c3c925a9fc]BeforePost[/b:c3c925a9fc] da tabela cad_alunos, vc coloca o seguinte codigo.
procedure TForm1.cad_alunosBeforePost(DataSet: TDataSet); var incremento: TQuery; begin incremento := TQuery.Create(nil); try with incremento do begin close; DatabaseName := ´C:\Documents and Settings\Aluno\Desktop\teste´; SQL.Add(´Select Max(id_aluno) from cad_alunos´); open; if Fields[0].IsNull then cad_alunos.FieldByName(´id_aluno´).AsInteger := 1 else cad_alunos.FieldByName(´id_aluno´).AsInteger := Fields[0].AsInteger + 1 end; finally incremento.Free; end; end;
Gostei + 0
07/11/2007
Mano_froids
Gostei + 0
07/11/2007
Martins
Vamos tentar assim:
procedure TForm1.cad_alunosBeforePost(DataSet: TDataSet); var incremento: TQuery; begin incremento := TQuery.Create(Self); try with incremento do begin close; //DataBaseName - Informe a pasta aonde está sua tabela. DatabaseName := ´C:\Documents and Settings\Aluno\Desktop\teste´; SQL.Add(´Select Max(id_aluno) from cad_alunos´); open; if Fields[0].IsNull then cad_alunos.FieldByName(´id_aluno´).AsInteger := 1 else cad_alunos.FieldByName(´id_aluno´).AsInteger := Fields[0].AsInteger + 1 end; Except ShowMessage(´Houve um erro na criação do objeto!´); end; end;
Assim deve lhe retornar algo, qualquer coisa estaremos as ordens.
bons códigos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)