إخواني السلام عليكم
هل من الممكن إجراء عمليات حسابية في 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 .
و المشكل الآخر و هو عدم إضافة المادة المياعة عند بيعها في حقل الكمية المباعة بمعنى يعطيك الكمية المباعة في الإجراء الأخير فقط . و جزاكم الله خيرا .