الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

عندى مشكلة في الحدث Adotable1calcfields يعلق البرنامج

مغلق
بدأه sa2004sa في 3 فبراير 2008 · 2 رد · 861 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندى جدول فية السعر و الكمية والمجموع

وسويت هالكود

procedure TForm2.ADOTable1CalcFields(DataSet: TDataSet);

begin

ADOTable1exittotal.Value :=ADOTable3price.Value * ADOTable1qyo.Value

end;

علما ان كلها مننوع انتجر

يعلق البرنامج ويعطى رسالة خطا stack over مدرى

#2

جرب هذا

عسى ان يكون هذا هو المطلوب

ADOTable1.Open;
ADOTable1.Append;
ADOTable1.FieldByName('qyo').AsInteger:=StrToInt(Edit1.Text);
ADOTable1.FieldByName('price').AsInteger:=StrToInt(Edit2.Text);
ADOTable1exittotal.Value:=ADOTable1qyo.Value * ADOTable1price.Value;
ADOTable1.Post;
ShowMessage('Êã ÇáÍÝÙ');

او قم بضربهما في الاول في (edit) ثم قم بحفظهما

Edit3.Text:=IntToStr(StrToInt(Edit1.Text)*StrToInt(Edit2.Text));
#3

يجب التأكد من أن AdoTable1 في وضع الإضافة أو التعديل وهذا يتم بوضع هذه الشفرة قبل تعيين القيمة للحقل المطلوب

If Adotable1.State in[dsedit,dsinsert] then

...

..

..

وإذا تكرر لديك نفس الخطاء فهذا يعني أن ناتج عملية الضرب أكبر من أن يستوعبه النوع Integer وبالتالي يتوجب عليك تغيير الشفرة السابقة من الشكل ADOTable1exittotal.Value := إلى الشكل ADOTable1exittotal.AsString :=inttostr(......)

والله ورسوله أعلم

من جد وجد ومن زرع حصد

هذا الموضوع مغلق.

مواضيع مشابهة