Barre de navigation ----> DELPHI 7

Fermé
lonewolf - 11 janv. 2008 à 14:17
phil232 Messages postés 607 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 - 11 janv. 2008 à 15:49
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 31 janvier 2008 178
11 janv. 2008 à 15:49
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