02-11-2012, 02:55 PM
tarek.inf كتب :ربما يكون خطا في ربط الجدوليينأتأسف عن ردي السابق لأني لم أرى رديكما في الصفحة الثالثة.
أخي طارق ليس المشكل في ما طرحت لأني لو وضعت refresh فإن هذا يؤدي إلى تخزين سجل المنتج و
تظهر كل المنتجات في الدبغريد و لكن في هذا الحالة الزر إلغاء لم يعد له معنى أي cancel لن تفيد.
هل فهمت مشكلتي؟
أخي عبد الجليل هذا هو كود زر الموافقة
ما رأيك في وضع transaction؟
locktype تفيدني في حالة إلغاء الفتورة و حتى كل المنتجات المخزنة طبعا قبل المرور على التعليمة updateBatch
كود :
procedure TFiche_Facture2.BitBtn1Click(Sender: TObject);
begin
if dbtext2.Caption='' Then
Raise exception.Create('Il n''exsiste Aucun client dans cette Pièce');
if DbcomboBox1.Text='' Then
Raise exception.Create('" Saisir le Mode de Règlement"');
IF data.FacProd.RecordCount=0 then
Raise exception.Create('" Aucun Article Dans cette Pièce "');
IF data.Facture_VenteEcheance.Value<data.Facture_Ventedate_Facture.Value Then
Raise Exception.Create('L''Echéance et Infèrieur a la Date ');
///////////////////////////////////////
try
data.ADOConnection1.BeginTrans; // بداية الصفقة
///////////////////////////////////////
data.FacProd.First;
while Not data.FacProd.Eof Do
Begin
data.FacProd.Edit;
data.FacProdcode_Client.Value:=data.Facture_Ventecode_Client.Value;
data.FacProddate_Facture.Value:=data.Facture_Ventedate_Facture.Value;
data.FacProd.Post;
data.FacProd.Next;
end;
Data.Facture_Vente.Post;
close;
////////////////////////////////////////////////////////////////
if data.ADOConnection1.InTransaction then
data.ADOConnection1.CommitTrans;
except
if data.ADOConnection1.InTransaction then
data.ADOConnection1.RollbackTrans;
ShowMessage('Erreur pendant la sauvegarde');
end;
///////////////////////////////////////////////////////////////////
end;
