delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يتم جمع عدة حقول في الفاسست ريبورت؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

عندي إستعلام (FDQuery1) قمت بجلب عدة حقول به ووضعتهم في الفاست ريبورت1 وقمت بعدة عمليات حسابية وعرضهم عادي في الفاسريبورت1
ولكني عند إضافة فاست ريبورت 2 وأردت أن أضع حقل به مجموع الحقول من (FDQuery1) لم أستطع كيف أجمع الحقول وأضعها في الفاست ريبورت2 هل أقوم بنفس العملية التي قمت بها في الفاست ريبورت1 أي جمعهم عن طريق متغير (Variable) يقوم بجمع الحقول ثم وضع المتغير على الفاست ريبورت؟
استعمل خاصية بالفاست ريبورت SUM
المشكل أنها ستجمع لك الحقول لتسجيلة واحدة فقط
مع العلم أن هناك عدة تسجيلات ويمكن جمعهم في الفاست ريبورت1 بفوتر أما قي الفاست ريبورت2 لا أستخدم ماستر داتا كيف يتم جمعهم؟
وعليكم السلام ورحمة الله


راجع الدرس هذا للاخ ابو معاذ اعتقد فيه ماتريد

عرض المجاميع و المجاميع الجزية في كل صفحة باستخدام fastReport
ولكن الشرح يتعلق بفاست ريبورت واحد فقط
أنا عندي مكونين فاست ريبورت واحد وإثنان

الأول قمت يالجمع عادي وأريد نقل هذا المجموع في الفاست ريبورت 2 في حقل فقط
قمت بالتصريح بمتغير كما فعلت في الفاست ريبورت الأول وجمع جميع الحقول- وبما ان الفاست الأول به ماستر داتا عرض جميع التسجيلات ويعطينا المجموع الكلي في الفوتر -ولكن في الفاست الثاني قام بجمع تسجيلة واحدة فقط لأني لا أستخدم ماستر داتا ولم يقم بإعطائي المجموع الكلي للتسجيلات
ما أريده هو وضع حقل في المكون الفاست 2 وليس الصفحة يعرض المجموع الكل لجميع التسجيلات؟

أستطيع فعل ذلك على مستوى الكويري ولكن الكويري بها عدة حقول لتعرضهم هل أقوم بوضعهم أيضا في جملة ال Select ضمن Sum() هنا ستصبح الجملة طويلة مع تكرار الحقول
يمكنك استخدام الحدث OnBeforePrint لل memo الذي تريد جعل المجموع فيه

كود :
procedure Memo28OnBeforePrint(Sender: TfrxComponent); begin   Memo28.Text := formatfloat('#,###0.00', Memo14.Value);    end;

حيث memo14 يحتوي على المجموع
يبدو أنكم لم تفهموا قصدي

عندي frxReport1 قمت بإضافة داخله ماستر داتا به عدة حقول قمت بجمعها في مربع نص
عندي frxReport2 أريد أن أضع مربع النص الموجود في frxReport1 داخل frxReport2   مع العلم أن frxReport2 بها مربع نص فقط

كيف أقوم بجمع قيم حقول في حدول ووضعنم في مربع نص هل يتم ذلك عن طريق كويري فقط؟
هناك احداث لمصمم التقرير يمكن تمرير قيم للتقرير منها او استلام قيم من التقرير عبرها ، لا تحضرني الان .

كود :
procedure TForm1.frxReport1NewGetValue(Sender: TObject; const VarName: string;   var Value: Variant); begin end;

ولكن بحالتك افضل ان تقوم بالعملية عن طريق استعلام في البيانات المطلوبة مع المجموع .
وتستخدم نفس الاستعلام للتقريرين .

ملاحظة اخرى : بامكانك اضافة تقرير فرعي بالتقرير الاول يظهر كصفحة مستقلة بدل من انشاء تقرير مستقل
جزاكم الله خيرا سأحول فعل ذلك بإستعلام مستقل