Bonjour,
je ni comprend rien j ai fait un test avec une table pour inserer un numero unique a chaque enregistrement.

Donc la table ce met sur le dernier enregistrement, recupere la faleur du champ ID et incremente 1.

je fais la meme chose su une autre table, sauf que quand je fais un insert , la ligne cree se met au dessus du dernier enregistrement, et donc plantage car la valeur existe deja.

je sais pas pourquoi?????

code qui marche

Le bur etais de recuper la valeur des checkbox cocher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
 
rocedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
table2.last;
i:=table2.Fields[0].AsInteger;
table1.First;
 
while not  table1.Eof do
  begin
 
if TCheckBox(FindComponent(table1.Fields[0].asstring)).checked  then
 
 begin
  i:=i+1  ;
 table2.Insert;
 table2.Fields[0].AsInteger:=i  ;
 table2.Fields[1].AsString:=table1.Fields[0].asstring;
 table2.Post;
 
   end;
    table1.Next;
 
 end;
code qui marche pas

Juste inser des donnees d un dbeidt dans la table en inserant un numeros auto valeur +1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
procedure TForm1.FormCreate(Sender: TObject);
begin
pagecontrol1.TabIndex:=0;
televes.Last;
end;
 
Pour l insert je me sert du dbnavigator.
 
 
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
 
televes.Fields[0].AsInteger:=televes.Fields[0].AsInteger +1 ;
televes.Fields[6].AsString:=metelephonef.Text   ;
dbnavigator1.BtnClick(nbpost);

merci