Bonjour,
dans mon logciel que je travaille sous delphi 7 / sql server 2000, j'utilise les composants TclientDataSet pour travailler en local avant de mettre à jour les donnees dans le serveur, il se trouve que je coince sur l'utilisation de ce composant très utile. le problème apparait quand je l'utilise en maître détails.
en général l'erreur suivante s'affiche record not found or changed by anther user .
voici les détails de mes tables :
PieceM : TTable ( num_piece;date_piece;vente_achat;ref_client_four;....; mnt_net_a_paye) .
datasetprovider1 lié à MieceM;
Tpiecem : TclienDataset lié à datasetprovider1 ;
DSpiecem : Tdatasource lié à TpieceM
du coté détails j'ai
pieced: ttable (num_ligne : integer; num_piece;ref_article; design_article;...;Total_Ht);
datasetprovider2 lié à pieced
TpieceD : tclientDataset lié à datasetprovider2
et dspieced : tdatasource lié à TpieceD.
j'ai lié Pieced à TpieceM en positionnant le masterdatasource de pieced à dspiecem et de meme masterdatasource de tpieced à je la dspiecem
j'ai ajouter des champs agrégats à Tpieced comme total_ht _total_tva ...
tout à l'ère de bien fonctionner mais dés fois je reçois le maudit message not found et dés fois quand je supprime toutes les lignes de la table details et j'enregistre les lignes supprimées reviennent sur le debegrid il fallait que je ferme la fiche et je la relance pour que ça disparrait.
je modifie les table ce fragment de code :
tpiecem.edit; tpieced.edit
j'enregistre par ce fragment :
[CODE]tpiecem.ApplyUpdates(-1); tpieced.applyupdate(-1) ;/CODE]
je supprime par :
merci mes amis de me conseiller sur la maniere d'utiliser le clientdataset, devrais je passer par le composant base de donnee tdatabase ?
Partager