Como autoincremento um valor a um DBEdit?
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 :!:
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
Curtidas 0
Respostas
Vega.x
07/04/2003
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!
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!
GOSTEI 0
Vega.x
07/04/2003
Complementando...
Coloque o código q eu informei no evento OnClick do botão.
Valeuzzz!
Coloque o código q eu informei no evento OnClick do botão.
Valeuzzz!
GOSTEI 0
Ginosam
07/04/2003
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:
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:
GOSTEI 0