Salut tous j'ai un problème pour faire une action dans une sélection multiple dans un DBGrid.
j'affiche un DBGRID grâce a une requête query
j'affiche le résultat dans un DBGrid avec une case à cocher ,pour l'instant tout est ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Datamodule1.Query31.SQL.Text := 'SELECT * from adherent.DB' ; Datamodule1.Query31.Active:=true;
Je sélectionne mes cases a coché et sur un bouton je veux créer un enregistrement en récupérant l'id le nom et le prénom mais la j'ai une érreur
message erreur
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 procedure Talloue_cotisation.BitBtn4Click(Sender: TObject); var i: Integer; begin for i:=0 to SMDBGrid1.SelectedRows.Count-1 do begin SMDBGrid1.DataSource.DataSet.GotoBookmark(pointer(SMDBGrid1.SelectedRows.Items[i])); SMDBGrid1.DataSource.DataSet.Edit; //SMDBGrid1.DataSource.DataSet.FieldByName('Lieu_trn').AsInteger := 3; SMDBGrid1.DataSource.DataSet.FieldByName('Idadherent').AsString; SMDBGrid1.DataSource.DataSet.FieldByName('Nom').AsString; SMDBGrid1.DataSource.DataSet.FieldByName('Prenom').AsString; Datamodule1.Table9.Active:=true; Datamodule1.Table9.Append; Datamodule1.Table9.FieldByName('Idadherent').Value := SMDBGrid1.DataSource.DataSet.FieldByName('Idadherent').AsString; Datamodule1.Table9.FieldByName('Nom').Value := SMDBGrid1.DataSource.DataSet.FieldByName('Nom').AsString; Datamodule1.Table9.FieldByName('Prenom').Value := SMDBGrid1.DataSource.DataSet.FieldByName('Prenom').AsString; SMDBGrid1.DataSource.DataSet.Post; Datamodule1.Table9.Post(); end; end;
si mon DBGrid est alimenté par un Ttable tous fonctionne bien .Mais j'ai besoin de faire un critaire de sélection donc une requête il me faut impérativement un query ?Query31:Impossible de modifier un ensemble de données en lecture seule
je ne trouve pas la solution merci de votre aide
Partager