Bonjour,
J'ai un StringGrid sur ma Form.
Je fais appel à une procedure pour lire ma base Access et afficher valeurs dans les cellules du StringGrid.
Je fais appel à une procedure pour enregristrer les cellules dans ma base Access.
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 procedure TFormPlanning.LireBDE; var col,lig:integer; begin with DM.ADOTableConges do begin First; for lig:=1 to StringGrid1.RowCount-1 do for col:=0 to StringGrid1.ColCount-1 do begin StringGrid1.Cells[col,lig]:=FieldByName('Cellule').AsString; next; end; end; end;
Le probleme : je vais enregistrer, lire, plusieurs fois de suite sans aucun soucis. Et sans savoir pourquoi, des fois, mes valeurs vont etre décalées.
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
28
29
30
31
32
33 procedure TFormPlanning.EnregistrerBDE; var col,lig,pourcentage:integer; begin {Vider la table Access} with DM.ADOQuery1 do begin SQL.Clear; SQL.Add('delete FROM Conges'); ExecSQL; close; end; {Ajouter les enregistrements} pourcentage:=round(100/DM.ADOTableDelegue.RecordCount); with DM.ADOTableConges do begin First; for lig:=1 to StringGrid1.RowCount-1 do begin for col:=0 to StringGrid1.ColCount-1 do begin Append; FieldByName('Cellule').AsString:=StringGrid1.Cells[col,lig]; Post; end; gauge1.Progress:=gauge1.Progress+pourcentage; end; end; gauge1.Progress:=100; ShowMessage('Enregistrement effectué'); end;
pouquoi ?
Merci
PS : Je ne sais pas si c'est le bon forum : Base de données ou débutant
Partager