Fórum Como autoincremento um valor a um DBEdit? #152570

07/04/2003

0

Como faço para autoincrementar um valor a um DBEdit quando um
botão for clicado? Ou melhor, quando eu clicar num botão, os valores 00001, 00002, etc, devem aparecer no DBEdit automaticamente.
Se alguém puder me ajudar agradeço muito :!:


Ginosam

Ginosam

Responder

Posts

07/04/2003

Vega.x

Cara, ao invés de colocar o autoincremento no DBEdit, coloque o mesmo no campo da Table, assim:

var i: Integer;
begin
i:= 1;
if Table1Cod.IsNull then
Table1Cod.AsInteger:= i
else
begin
Table1.Last;
i:= Tabela1Cod.AsInteger;
Table1Cod.AsInteger:= i + 1;
end
end;

Espero ter ajudado!


Responder

Gostei + 0

07/04/2003

Vega.x

Complementando...

Coloque o código q eu informei no evento OnClick do botão.

Valeuzzz!


Responder

Gostei + 0

08/04/2003

Ginosam

Caro colega Vga.X, testei o seu exemplo num projeto bem simples para ver se funcionava, mas infelizmente não funcionou. Veja:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Buttons, Mask, DBCtrls;

type
TForm1 = class(TForm)
LabelCodigo: TLabel;
DBEdit1: TDBEdit;
LabelNome: TLabel;
DBEdit2: TDBEdit;
NOVO: TBitBtn;
SALVAR: TBitBtn;
EXCLUIR: TBitBtn;
DataSource1: TDataSource;
Table1: TTable;
Table1Cod: TIntegerField;
Table1Nome: TStringField;
procedure NOVOClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.NOVOClick(Sender: TObject);
var i: Integer;
begin
Table1.Insert;
i:= 1;
if Table1Cod.IsNull then
Table1Cod.AsInteger:= i
else
begin
Table1.Last;
i:= Table1Cod.AsInteger;
Table1Cod.AsInteger:= i + 1;
end;
end;

end.
*************************************************************
Testei com um outro exemplo que vi aí no fórum e funcionou. Só que
começa com 0, depois 1, 2, etc. Não quero deste jeito, quero que
começe assim: 0001, 0002, etc. Veja o outro exemplo:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls, Mask, DBCtrls, Buttons;

type
TForm1 = class(TForm)
NOVO: TBitBtn;
DBEdit1: TDBEdit;
DataSource1: TDataSource;
Table1: TTable;
LabelCodigo: TLabel;
DBEdit2: TDBEdit;
LabelNome: TLabel;
Table1Cod: TIntegerField;
Table1Nome: TStringField;
SALVAR: TBitBtn;
EXCLUIR: TBitBtn;
procedure NOVOClick(Sender: TObject);
procedure SALVARClick(Sender: TObject);
procedure EXCLUIRClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.NOVOClick(Sender: TObject);
var
Novo: string;
Atual: integer;
begin
table1.Insert;
Atual:= Table1.RecordCount;
if Atual < 1 then Atual:= 0;
FmtStr(Novo, ´¬.4d´, [Atual]);
Table1COD.Value:= StrToInt(Novo);
end;

procedure TForm1.SALVARClick(Sender: TObject);
begin
table1.Post;
end;

procedure TForm1.EXCLUIRClick(Sender: TObject);
begin
table1.Delete;
end;

end.

Se alguém puder me ajudar agradeço! :shock:


Responder

Gostei + 0

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

Aceitar