ouasi enfin avant de faire le post tu peux voir si tu es en mode édition ou pas hein :p (c'était sous-entendu dans mon post précédent)
os2
si je laissait pas le insert, j'avais une erreur disant que le dataset n'était pas en mode édition ou insertion....
j'ai enlever les lignes, j'ai fait de nombreux test et c'est toujours mis à jour correctement....
antp
bhen si tu fais un Insert avant de copier c'est normal que tu aies une ligne en trop.
À la limite tu peux laisser le Post pour être sûr que tout est mis à jour...
os2
ok j'ai enlevé ces lignes
cdsBesoin.Insert;
if cdsBesoin.ChangeCount>0 then
cdsBesoin.Post;
j'avais mis ces lignes car mon dataset est lié a un grid, il y a des infos du grid qui ne sont pas encore posté donc je pensais qu'il fallait les posté avant de pouvoir les copiés
en les enlèvement, j'ai pu d'enregistrement vide et je copie sans problème les donnée qui n'ont pas été posté, dans l'autre dataset...
je trouve cela bizarre....
antp
- pourquoi tu commences par faire un insert dans cdsBesoin ?
- tu devrais faire cdsGeneral.Post plutôt que .Next, non ?
os2
j'ai un problème lorsque je copie un dataset dans un autre, il me copie toujours un enregistrement de trop
exemple que n'ai que 2 enregistrement dans mon dataset et il m'en copie 3
voici mon code
begin
cdsBesoin.Insert;
if cdsBesoin.ChangeCount>0 then
cdsBesoin.Post;
cdsBesoin.First;
while not(cdsBesoin.Eof) do
begin
cdsGeneral.Insert;
cdsGeneral.FieldByName('Nom').AsString := cdsBesoin.FieldByName('Nom').AsString;
cdsBesoin.Next;
cdsGeneral.Next;
end;
end;