Barre de navigation ----> DELPHI 7

lonewolf -  
phil232 Messages postés 607 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


voila j'essaie de navigué dans ma base de donnée (DBGRID) sans barre de navigation (DBNAVIGATOR) j'ai reussi a plus ou moins a faire tout sauf Supprimer un element de la base de donnée tout en remettant les numero de mon champs IDE dans une suite logique (EX:1 2 3 5 6...---> 1 2 3 4 5) donc en resumer a ce que la base de donnée reste logique sans passé du champ 3 a 5...

unit Unit1;

interface

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

type
TForm1 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
BFirst: TButton;
BLast: TButton;
BSuppr: TButton;
BNext: TButton;
BCreer: TButton;
BPrior: TButton;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBNavigator1: TDBNavigator;
procedure BFirstClick(Sender: TObject);
procedure BPriorClick(Sender: TObject);
procedure BNextClick(Sender: TObject);
procedure BLastClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BCreerClick(Sender: TObject);
procedure BSupprClick(Sender: TObject);
private
I,rep,A : Integer;
public
{ Déclarations publiques }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BFirstClick(Sender: TObject);
begin
Table1.first;
BFirst.Enabled := False;
BPrior.Enabled:= False;
BLast.Enabled := True;
BNext.Enabled := True;
End;

procedure TForm1.BPriorClick(Sender: TObject);
begin
Table1.Prior;
end;

procedure TForm1.BNextClick(Sender: TObject);
begin
Table1.Next;
BFirst.Enabled := True;
BPrior.Enabled := True;
end;

procedure TForm1.BLastClick(Sender: TObject);
begin
I := Table1.RecordCount;
Table1.Last;
BLast.Enabled := False;
BNext.Enabled := False;
BFirst.Enabled := True;
BPrior.Enabled := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
I := 0; A := 0;
end;

procedure TForm1.BCreerClick(Sender: TObject);
begin
Table1.DisableControls;
Table1.Edit;
Table1.Append;
Table1.EnableControls;
end;

procedure TForm1.BSupprClick(Sender: TObject);
begin
rep:= MessageBox(Handle,'Etes-vous sûr de vouloir supprimer cette personne ?','Avertissement',MB_OKCANCEL or MB_ICONSTOP ) ;
if (rep =IDOK) then Table1.Delete;

Table1.First;

while (NOT Table1.Eof) DO
Begin
Table1.Edit;
A := Table1.FieldByName('IDE').Value;
If (I <> A) Then
Table1.FieldByName('IDE').AsInteger := I - 1;

I := I + 1;
Table1.Next;
End;

end;

end.

VOILA merci d'avance
A voir également:

1 réponse

phil232 Messages postés 607 Date d'inscription   Statut Membre Dernière intervention   178
 
dans une base de données on ne modifie pas la clé primaire (on peut parfois mais il vaut mieux ne pas y toucher). bien sur, je suppose que ton 1, 2 3 c'est un ID. si c'est pas le cas il faut parcourir la table, lire la ligne et l'envoyer avec le nouveau chiffre dans la bdd. Voilà!
0