![]() |
|
العمليات الحسابية في dbgrid - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : العمليات الحسابية في dbgrid (/showthread.php?tid=5057) |
العمليات الحسابية في dbgrid - عبد الله - 25-03-2013 إخواني السلام عليكم هل من الممكن إجراء عمليات حسابية في dbgrid بحيث : لنفرض بأنه عندي حقلين حفل لكمية المخزون و حقل للكمية المباعة هذا كله في dbgrid ، و عند وضع قيمة في edit للكمية المباعة يقوم البرنامج بوضعها في حقل الكمية المباعة ولكن عند إدخال قيمة أخرى للكمية المباعة في edit لنفس المادة فيقوم البرنامح بوضع القيمة الثانية فقط في حقل الكمية المباعة و لا يحتفظ بالقيمة الأولى في حقل الكمية المباعة بمعنى عدم جمع القيمتين مع بعضها البعض في حقل الكمية المباعة . و جزاكم الله خيرا العمليات الحسابية في dbgrid - AnoirsoftDeveloper - 25-03-2013 وعليكم السلام توضيح لنفرض أن : حقل الكمية في المخزن = 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;العمليات الحسابية في dbgrid - عبد الله - 25-03-2013 أخي AnoirsoftDeveloper بارك الله فيك على الرد : و لكن المشكلة هي عندما يكون حقل الكمية المباعة فارغا يعطيك رسالة :لا يمكن تحويل المتغير من نوع variant إلى متغير من نوع null . و المشكل الآخر و هو عدم إضافة المادة المياعة عند بيعها في حقل الكمية المباعة بمعنى يعطيك الكمية المباعة في الإجراء الأخير فقط . و جزاكم الله خيرا . العمليات الحسابية في dbgrid - AnoirsoftDeveloper - 26-03-2013 عبد الله كتب :المشكلة هي عندما يكون حقل الكمية المباعة فارغا يعطيك رسالة :لا يمكن تحويل المتغير من نوع variant إلى متغير من نوع null .معناه لا يمكن أن يكون الحقل فارغا على ما أظن ،أرفق محاولتك * المشروع الذي أرفقته ليس برنامج كاملا (للفهم فقط). عبد الله كتب :المشكل الآخر و هو عدم إضافة المادة المياعة عند بيعها في حقل الكمية المباعة بمعنى يعطيك الكمية المباعة في الإجراء الأخير فقط .أخي حاول أن تفهم الكود ، الإجابة بسيطة جدا وهي تغيير قيمة الحقل مباشرة كود : ADOTable1Ventes.Value:=StrToInt(LabeledEdit2.Text);
//إضافة الكمية المطلوبة إلى حقل الكمية المباعةالعمليات الحسابية في dbgrid - عبد الله - 27-03-2013 السلام عليكم و رحمة الله و بركاته أخي لم أفهم قصدك بتغيير قيمة الحقل مباشرة معذرة أخي على التعب |