المشاركات : 421
المواضيع 77
:
: 195
الإنتساب : Dec 2008
11-05-2020, 01:58 PM
(آخر تعديل لهذه المشاركة: 11-05-2020, 02:06 PM بواسطة ALG2009.)
السلام عليكم
TfrxMemoView(dmDATA.frxReport1.FindObject('memo3')).Text :=floattostr(round(dmData.tblEmp.FieldByName('Qnt').Value/50* dmData.tblEmp.FieldByName('sum').Value)
الخطأ كما هو موضح في الصورة
مع العلم أن حاولت من رقم إلى نص floattostr لماذا هذا الخطأ
هذه الصورة
المشاركات : 145
المواضيع 1
:
: 41
الإنتساب : Aug 2019
لا مشكلة عندي في الكود. حاول ان تنظم الكود قليلا حتى يسهل عليك تنقيحه
PHP كود :
var
qty, sum, total: Real;
begin
qty := FDTable1.FieldByName('Qnt').AsFloat / 50;
sum := FDTable1.FieldByName('sum').AsFloat;
total := Round(qty * sum);
TfrxMemoView(frxReport1.FindObject('memo3')).Text := FloatToStr(total);
هل تستخدم الكود في الفاستريبورت ام خارجه؟
المشاركات : 421
المواضيع 77
:
: 195
الإنتساب : Dec 2008
11-05-2020, 11:11 PM
(آخر تعديل لهذه المشاركة: 11-05-2020, 11:12 PM بواسطة ALG2009.)
(11-05-2020, 05:16 PM)sofiane201 كتب : هل تستخدم الكود في الفاستريبورت ام خارجه؟
خارجه عند الضغط على البوتون طبعا
ولكن عند تنفيذ السطر الأخير
dmData.frxReport1.ShowReport
يظهر الخطأ لا أدري ما السبب دائما نفس الخطأ
المشاركات : 421
المواضيع 77
:
: 195
الإنتساب : Dec 2008
الخطأ كان أن أضع كود في الفاست ريبورت نسيت أن أحدفه
ولكن يحسب الحقل الأول فقط لا يمر إلى بقية الحقول هل من كويري لإظهار نتائج كل الجقول بعد الحساب؟
المشاركات : 522
المواضيع 46
:
: 394
الإنتساب : Sep 2011
ضعه في الاحداث عند أخذ القيم كما في الصورة
المشاركات : 421
المواضيع 77
:
: 195
الإنتساب : Dec 2008
لا يوجد شيء في OnGetValue وحتى في OnDblClickObject
الكود موضوع في بوتون في الفورم واريد القيام بعملية حسابية على جميع الحقول وعرضها في الفاست ريبورت
qty := dmData.FDTable1.FieldByName('Qnt').AsFloat / 50;
sum :=dmData. FDTable1.FieldByName('sum').AsFloat;
total := Round(qty * sum);
TfrxMemoView(frxReport1.FindObject('memo3')).Text := FloatToStr(total);
dmData.frxReport1.ShowReport;
شكرا لكم لا عليكم سأضع الكود في الفاست ريبورت مباشرة لأني اعتقد ان وضع الكود في محرر الاكواد في الفاست ريبورت يثقل من عمل الفاست عند العرض لهذا السبب اردت وضعه في البوتون مباشرة
المشاركات : 522
المواضيع 46
:
: 394
الإنتساب : Sep 2011
(12-05-2020, 06:43 PM)ALG2009 كتب : لا يوجد شيء في OnGetValue وحتى في OnDblClickObject
الكود موضوع في بوتون في الفورم واريد القيام بعملية حسابية على جميع الحقول وعرضها في الفاست ريبورت
qty := dmData.FDTable1.FieldByName('Qnt').AsFloat / 50;
sum :=dmData. FDTable1.FieldByName('sum').AsFloat;
total := Round(qty * sum);
TfrxMemoView(frxReport1.FindObject('memo3')).Text := FloatToStr(total);
dmData.frxReport1.ShowReport;
شكرا لكم لا عليكم سأضع الكود في الفاست ريبورت مباشرة لأني اعتقد ان وضع الكود في محرر الاكواد في الفاست ريبورت يثقل من عمل الفاست عند العرض لهذا السبب اردت وضعه في البوتون مباشرة
اترك هذا dmData.frxReport1.ShowReport; في بوتون و الباقي ضعه في المكان كما قلت لك
المشاركات : 145
المواضيع 1
:
: 41
الإنتساب : Aug 2019
12-05-2020, 07:26 PM
(آخر تعديل لهذه المشاركة: 12-05-2020, 07:27 PM بواسطة sofiane201.)
هل تريد المجموع الكلي لqnt /50 * sum, يعني مجموع حاصل كل سطر؟
اذا نعم
قم بعمل استعلام sql احسن, استخدم TFDQuery
مثال
PHP كود :
Var
query: String;
total: Single;
Begin
query := 'SELECT SUM( (qnt / 3) * sum) AS "Total" FROM TableName';
FDQuery1.Open(query);
If FDQuery1.RecNo <> -1 Then
Begin
total := FDQuery1.FieldByName('Total').AsSingle;
TfrxMemoView(frxReport1.FindObject('memo1')).Text := total.ToString;
End;
frxReport1.ShowReport();
End;
هذا يعطيك مجموع كل الحقول
المشاركات : 421
المواضيع 77
:
: 195
الإنتساب : Dec 2008
جزاكم الله خير وبارك الله فيكم
تقبل الله منكم صالح الاعمال