![]() |
|
كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ (/showthread.php?tid=4657) |
كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - tarek.inf - 01-11-2012 ربما يكون خطا في ربط الجدوليين اذا كان رقم الفاتورة هو المفتاح الرئيسي في الجدول facture يجب ان يكون رقم الفاتورة في الجدول factproduit هو مفتاح رئيسي كذلك تأكد من ان رقم الفاتورة يتكرر في الجدول factprduit كل ما اضفنا منتج جديد قم باظهار جميع حقول factproduit في dbgrid بما فيها رقم الفاتورة لتتاكد من ذلك كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - Lam.Abdeldjalil - 02-11-2012 إقتباس : أستخدم lockType=ltbatchOptimistic من أجل التأكيد الجماعيالـ Transaction أفضل لهذا الغرض ( هل جربت ما ذكره الأخ ناجي http://www.delphi4arab.net/forum/showpost.php?p=37847&postcount=7 ) إقتباس : يجب ان يكون رقم الفاتورة في الجدول factproduit هو مفتاح رئيسي كذلكمفتاح رئيسي مركب أو خارجي foreign key كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - cosinuszero - 02-11-2012 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;كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - Lam.Abdeldjalil - 03-11-2012 السلام عليكم أرفق مشروع مصغر إذا أمكن (جدولين + فورم الإضافة) ، لنعدل عليه مباشرة كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - cosinuszero - 06-11-2012 لقد وضعت مشروع مصغر على هذا الرابط http://www.4shared.com/rar/h5SwoVlk/gcapp.html كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - Lam.Abdeldjalil - 08-11-2012 السلام عليكم تحقق من الرابط كيف تخزن سجل لمنتج ولم تخزن الفاتورة بعد؟ - cosinuszero - 09-11-2012 صحيح مع أني رفعته و جربت تحميله. لكن لقد اتبعت ارشاداتك و أضفت refresh كما قال بعض الاخوة و كل شيء شغال شكرا جزيلا أخي عبد الجليل. |