GARANTIR DESCONTO

Fórum Mostrar Auto Increment no TDEdit #348426

05/11/2007

0

Olá.

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

Mano_froids

Responder

Posts

05/11/2007

Godzilla_xf

Olá. 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.


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;


Responder

Gostei + 0

06/11/2007

Mano_froids

Alguém tem o código para fazer isso usando o PARADOX?


Responder

Gostei + 0

06/11/2007

Godzilla_xf

Alguém tem o código para fazer isso usando o PARADOX?


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;



Responder

Gostei + 0

07/11/2007

Mano_froids

O que eu coloco no DATABASENAME? Pois já tentei colocar a base de dados e da erro no diretorio, acho que ele não acha ... também já tentei o caminho da tabela e da a mesma coisa.


Responder

Gostei + 0

07/11/2007

Martins

O que eu coloco no DATABASENAME? Pois já tentei colocar a base de dados e da erro no diretorio, acho que ele não acha ... também já tentei o caminho da tabela e da a mesma coisa.


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.


Responder

Gostei + 0

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

Aceitar