السلام عليكــم ورحمـة الله وبركاتــه
لدي جدولان مرتبطان بعملية master/detail واستخدم الكود التالي من أجل جمع قيمة حقلين وطرحهما من بعض , ثم تعرض النتائج في label
procedure Tamountf.calculate;
begin
// Calculate all revnue
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('SELECT SUM(AmountR) AS TotalR FROM amountfour');
dm.ADOQuery1.Open;
LabelR.Caption := dm.ADOQuery1.FieldByName('TotalR').AsString;
// Calculate all expensess
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('SELECT SUM(AmountE) AS TotalE FROM amountfour');
dm.ADOQuery1.Open;
LabelE.Caption := dm.ADOQuery1.FieldByName('TotalE').AsString;
LabelN.Caption := FloatToStr ( StrToFloat (LabelR.Caption) - StrToFloat (LabelE.Caption));
end;ولكن عند حذف آخر سجل يعطيني رسالة الخطأ التالية
حتى بعد حذف عملية master/detail بقيت المشكلة
المشكلة كانت تقف عند التنفيذ على calculate
وهذا كود الحذف الذي استخدمته
if DM.tamountf.RecordCount=0 then
ShowMessage('áÇÊæÌÏ ÓÌáÇÊ áåÐÇ ÇáãæÑÏ , áÇíãßäß ÇáÍÐÝ')
else
begin
if MessageDlg('åá ÊÑíÏ ÍÐÝ ÇáÓÌá ',mtConfirmation,[mbYes,mbno],0)=mryes then
DM.tamountf.Delete
else
DM.Tamountf.Refresh;مع العلم إن البرنامج شغال تماماً ويقوم بحساب القيمة بعد كل حذف إلا عند حذف السجل الأخير
فأين المشكلة
شكراً لكم

