delphi4arab منتديات دلفي للعرب

نسخة كاملة : العمليات الحسابية في dbgrid
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
إخواني السلام عليكم
هل من الممكن إجراء عمليات حسابية في dbgrid بحيث : لنفرض بأنه عندي حقلين حفل لكمية المخزون و حقل للكمية المباعة هذا كله في dbgrid ، و عند وضع قيمة في edit للكمية المباعة يقوم البرنامج بوضعها في حقل الكمية المباعة ولكن عند إدخال قيمة أخرى للكمية المباعة في edit لنفس المادة فيقوم البرنامح بوضع القيمة الثانية فقط في حقل الكمية المباعة و لا يحتفظ بالقيمة الأولى في حقل الكمية المباعة بمعنى عدم جمع القيمتين مع بعضها البعض في حقل الكمية المباعة .
و جزاكم الله خيرا
وعليكم السلام

توضيح
لنفرض أن :
حقل الكمية في المخزن = 99
حقل الكمية المباعة = 1

مثلا تم بيع 30 فإن النتيجة تكون كما يلي :
كمية المخزن : 69
حقل الكمية المباعة :31

العمليات :
1- الذهاب إلى السطر
2- التحقق من وجود الكمية اللازمة
3- إضافة الكمية المباعة في حقل الكمية المباعة ، ثم يقوم بطرح الكمية المباعة من حقل المخزن

الكود :
كود :
ADOTable1.First; if ADOTable1.Locate('no', LabeledEdit1.Text,[]) then //البحث عن رقم القطعة begin if ADOTable1Stock.Value>StrToInt(LabeledEdit2.Text) then //التأكد من وجود الكمية المطلوبة begin ADOTable1.Edit; ADOTable1Stock.Value:=ADOTable1Stock.Value-StrToInt(LabeledEdit2.Text); //طرح الكمية المطلوبة من الكمية الموجودة ADOTable1Ventes.Value:=ADOTable1Ventes.Value+StrToInt(LabeledEdit2.Text); //إضافة الكمية المطلوبة إلى حقل الكمية المباعة ADOTable1.Post; end else begin ShowMessage('الكمية المطلوبة غير موجودة '); end; end else begin ShowMessage('السجل غير موجود '); end; end;
أخي AnoirsoftDeveloper بارك الله فيك على الرد : و لكن المشكلة هي عندما يكون حقل الكمية المباعة فارغا يعطيك رسالة :لا يمكن تحويل المتغير من نوع variant إلى متغير من نوع null .
و المشكل الآخر و هو عدم إضافة المادة المياعة عند بيعها في حقل الكمية المباعة بمعنى يعطيك الكمية المباعة في الإجراء الأخير فقط . و جزاكم الله خيرا .
عبد الله كتب :المشكلة هي عندما يكون حقل الكمية المباعة فارغا يعطيك رسالة :لا يمكن تحويل المتغير من نوع variant إلى متغير من نوع null .
معناه لا يمكن أن يكون الحقل فارغا على ما أظن ،أرفق محاولتك
* المشروع الذي أرفقته ليس برنامج كاملا (للفهم فقط).
عبد الله كتب :المشكل الآخر و هو عدم إضافة المادة المياعة عند بيعها في حقل الكمية المباعة بمعنى يعطيك الكمية المباعة في الإجراء الأخير فقط .
أخي حاول أن تفهم الكود ، الإجابة بسيطة جدا وهي تغيير قيمة الحقل مباشرة
كود :
ADOTable1Ventes.Value:=StrToInt(LabeledEdit2.Text); //إضافة الكمية المطلوبة إلى حقل الكمية المباعة
السلام عليكم و رحمة الله و بركاته
أخي لم أفهم قصدك بتغيير قيمة الحقل مباشرة
معذرة أخي على التعب