كيف يتم جمع عدة حقول في الفاسست ريبورت؟
#1
السلام عليكم

عندي إستعلام (FDQuery1) قمت بجلب عدة حقول به ووضعتهم في الفاست ريبورت1 وقمت بعدة عمليات حسابية وعرضهم عادي في الفاسريبورت1
ولكني عند إضافة فاست ريبورت 2 وأردت أن أضع حقل به مجموع الحقول من (FDQuery1) لم أستطع كيف أجمع الحقول وأضعها في الفاست ريبورت2 هل أقوم بنفس العملية التي قمت بها في الفاست ريبورت1 أي جمعهم عن طريق متغير (Variable) يقوم بجمع الحقول ثم وضع المتغير على الفاست ريبورت؟
الرد
#2
استعمل خاصية بالفاست ريبورت SUM
[-] كل من 1 user says قال شكرا ل Ibn Battuta على المشاركة المفيدة
  • ALG2009
الرد
#3
المشكل أنها ستجمع لك الحقول لتسجيلة واحدة فقط
مع العلم أن هناك عدة تسجيلات ويمكن جمعهم في الفاست ريبورت1 بفوتر أما قي الفاست ريبورت2 لا أستخدم ماستر داتا كيف يتم جمعهم؟
الرد
#4
وعليكم السلام ورحمة الله


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

عرض المجاميع و المجاميع الجزية في كل صفحة باستخدام fastReport
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 1 user says قال شكرا ل Delphi4Us على المشاركة المفيدة
  • ALG2009
الرد
#5
ولكن الشرح يتعلق بفاست ريبورت واحد فقط
أنا عندي مكونين فاست ريبورت واحد وإثنان

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

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

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

حيث memo14 يحتوي على المجموع
[-] كل من 1 user says قال شكرا ل ghostdz على المشاركة المفيدة
  • ALG2009
الرد
#7
يبدو أنكم لم تفهموا قصدي

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

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


الملفات المرفقة
.png   Untitled.png (الحجم : 4.81 ك ب / التحميلات : 17)
الرد
#8
هناك احداث لمصمم التقرير يمكن تمرير قيم للتقرير منها او استلام قيم من التقرير عبرها ، لا تحضرني الان .

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

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

ملاحظة اخرى : بامكانك اضافة تقرير فرعي بالتقرير الاول يظهر كصفحة مستقلة بدل من انشاء تقرير مستقل
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
[-] كل من 3 users say قال شكرا ل Delphi4Us على المشاركة المفيدة
  • ghostdz, ALG2009, Ibn Battuta
الرد
#9
جزاكم الله خيرا سأحول فعل ذلك بإستعلام مستقل
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم