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

اسئلة في Rave Report

مغلق
بدأه ibr_exn في 22 أغسطس 2006 · 13 رد · 2,503 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

عندي بعض الاسئلة في اداة التقارير Rave

1- كيفية عمل footer بحيث يعطي مجموع بيانات حقل معين لكل صفحة

2-كيفية عمل عمود "مسلسل" بحيث رقم يبدأ من الواحد و يتزايد لكل سطر

3- كيفية جعل الارقام تظهر بالرموز الهنديه لحقل رقمي معين (جربت تغيير الخط الى عربي وما نفع )

اسف ان اكثرت بالاسئلة ولكنها فعلا مشاكل حقيقية بالنسبة لي

تحياتي للجميع

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#2

قم بالقاء نظرة على هذه الروابط:

في اول رابط تجد جواب على سؤالك التالي:2-كيفية عمل عمود "مسلسل" بحيث رقم يبدأ من الواحد و يتزايد لكل سطر

/index.ph...st&p=483714

الطباعة باستخدام RAVE Reports, 4 دروس مبسطة

شرح مبسط ) لاستخدام Rave Report

هل من مثال لاستخدام Rave Report

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

مشكور على الرد

بالنسبة لحقل الرقم المتسلسل وجدت الاجابة في موقع التقرير نفسه بطريقة مشابهة لما هو موجود في ردك

و بالنسبة للFooter عملته Header و نقلت اداة الحقل المحسوب يدويا الى اخر الصفحة و مشي الحال

بقي معايا عملية الارقام الهنديه يا ريت اذا حد عارف لا يبخل علينا

تحياتي للجميع

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#4

جواب السؤال الأول

var x,y,a,b:integer;
begin
y:=0;
for x:=1 to DataModule3.ADOQuery1.RecordCount do begin
DataModule3.ADOQuery1.RecNo:=x;
y:=y+  DataModule3.ADOQuery1.Fields[1].Value;
end;

هذا يعمل على جمع قيم حقل معين

بأمكانك بعدها وضع الناتج في اي مكان تريدتخزينه في حقل دائماً يظهر النتيج او ما شابه

When You Started With Delphi ...You Could Not Stop!

delphiteam2.jpg

alharmoodiGropu.com

#5
اقتباس
بقي معايا عملية الارقام الهنديه يا ريت اذا حد عارف لا يبخل علينا

هذه يتم ضبطها من الاعدادات الاقليمية حيث يجب عليك بعمل تخصيص للارقام لتضعها كما تريد

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#6

السلام عليكم

جربت كل ما سبق واعطى نتائج ممتازة

لي استفسار بسيط

كيف يمكن عمل حقل مسلسل لكل مجموعة فرعية ؟

مثال :

المخازن تتكون من اقسام والاقسام تحوي اصناف

وقدعملت استعلام بحيث تكون النتيجة كالتالي :

مخزن 1 قسم 1

1- صنف 1

2- صنف2

3- صنف 3

مخزن 1 قسم 2

4- صنف 1

5- صنف2

6- صنف 3

مخزن 2 قسم 1

7- صنف 1

8- صنف2

9- صنف 3

وهكذا كيف يمكن عمل حقل مسلسل بحيث يكون الناتج كالتالي :

مخزن 1 قسم 1

1- صنف 1

2- صنف2

3- صنف 3

مخزن 1 قسم 2

1- صنف 1

2- صنف2

3- صنف 3مخزن 2 قسم 1

1- صنف 1

2- صنف2

3- صنف 3

الف شكر مقدما

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#7

بخصوص ارقام المجموعات يمكنك لكي تبدأ ارقام كل مجموعة من رقم واحد يجب ان تكون الارقام الفرعية مكونة من رقم زيادة بمعنى لو كان رقم المجموعة 1 يجب ان يكون رقم المخزن 1_1 ورقم الصنف 1_1_1 وهكذا بحيث انه بهذه الطريقة سيبدا الترقيم من1 فيكل بند على حده انا كنت اعمل في برنامج قريب من ذلك ولكن فيالجدول وليس في التقرير وفقك الله

#8

مشكور على الرد

ولكن المطلوب هو عمل مسلسل في التقرير وليس في الجدول

تحياتي

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#9

ibr_exn:

بالنسبة لما طلبت عليك ضبط ذلك في الحدث OnclacField لل Dataset التي قمت بربطها مع التقرير

قم بتعريف متحول من نمط رقم و اسند له القيمة صفر عند انشاء الفورم مثلا و متحول اخر لتخزين رقم القسم او اسمه , الان في الحدث OnclacField تقوم بفحص القسم اذا كان مثل القسم الذي سبقه تضيف قيمة 1 الى المتحول الرقمي و تضعها في الحقل

و الا تصفر المتحول الرقمي و تبدأ العد من جديد

طبعا هنا يجب ان تكون البيانات مفروزة حسب القسم

اذا لم تكن البيانات مفروزة عليك بتعريف مصفوفة من Record

حيث تكون حقول ال Record هي القسم(الرقم او الاسم) و العداد(قيمة العداد)

هذا كله كلام نظري و عليك تطبيق ذلك :) و اذا واجهتك مشاكل فلا تتردد بالسؤال

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#10

مشكور على الرد والاهتمام

بس للاسف لا اعرف كيف اطبق الكلام الذي ذكرته فليس عندي المعرفة الاساسية بالبرمجة في تقارير Rave Reports

ولو ح اغلبك معايا ممكن مثال بسيط

الف شكر

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#11

مشكور على التجاوب

ارفقت المثال في المرفقات رغم وجود بعض الاخطاء ولكنه يفي بالغرض

ارجو ملاحظة خانة الحقل "مسلسل" ، المطلوب هو رقم مسلسل لكل مجموعة

Rave.rar

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#12

السلام عليكم:

اسف جدا على تأخري في الرد, و ارجوا ان تعذرني على ذلك

اولا: لقد اطلعت على تصميم قاعدة البيانات لديك, و احببت ان انبهك على ملاحظة وهي انك قمت بربط الجدول data مع كل من nms,Dept,colg الخطأ هو في ربط الجدول colg مع كل من Data و Dept

لاحظ معي: كل طالب له اكثر من قسم

كل قسم يحتوي على اكثر من طالب

لذلك نحتاج الى جدول لكسر العلاقة قمت انت بتسميته Data هذا الجدول يجب ان يحتوي على مفتاح خارجي من كلا الجدولين nms,Dept مع وضعهما الاثنين Primary key اذا اردنا ان لا يتم تسجيل الطالب اكثر من مرة في نفس القسم, و على الاغلب نريد ذلك

و لا داعي لربط الجدول colg مع الجدول data لانه بذلك نقوم بتكرار المعلومات بدون فائدة, حيث يمكن الحصول على colg لطالب معين بعد ربط الجداول الاربعة السابقة مع بعضها البعض.

ملاحظة: هناك اخطاء في قاعدة البيانات حيث ان ID للاقسام فيه اخطاء فاحيانا ترى قسمين باسمين مختلفين تمام و هذاخطأ قي تكامل قاعدة البيانات.

بخصوص الترقيم:

و ذلك كما يلي:

قم النقر مزدوج على ال query و من ثم زر يمين و من ثم حقل جديد(new field) و من ثم اكتب اسم الحقل Serial و من ثم حدد النوع integer مثلا و من ثم قم بضبط Filed Type على Calculated و من ثم ok

بعد ذلك قم بتعريف المتحولات التالي في القسم private للفورم

  private
	Serial:DWORD;
	DeptID:DWORD;
	ColgID:DWORD;

بعد ذلك قم بالذهاب الى الحدث OncalcFileds لل Query و اكتب الكود التالي:

procedure TForm1.AdqCalcFields(DataSet: TDataSet);
begin
  if (Adqcolgid.Value <> ColgID) or (AdqDeptID.Value <>DeptID)then
	Serial:= 0;
  ColgID:= Adqcolgid.Value;
  DeptID:= AdqDeptID.Value;
  Serial:= Serial + 1;
  AdqSerial.Value:= Serial;
end;

الكود سهل و لا يحتاج الى شرح, اذا لديك اسئلة انا جاهز :)

سوف تلاحظ انّ الحقل التسلسلي سوف يتغير بتغير رقم القسم و رقم الكلية

ملاحظة: بما انك قد قمت بفرز ال Query حسب اسم الكلية و اسم القسم و ليس حسب IDs لكل منهما

و بسبب الخطاء التي في قاعدة البيانات حيث انه هناك اقسام مختلفة تحمل نفس ال ID فسوف يحصل خطأ في الترقيم

لحل المشكلة:

قم باصلاح قاعدة البيانات او قم بتعريف متحول نص لك من detp,colg و تقارن معهم بدل من المقارنة حسب الرقم

و انا افضل اصلاح قاعدة البيانات.

Rave.rar

تم تعديل هذه المشاركة بواسطة waeldalol في 27 أكتوبر 2006 في 19:53

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#13

الف شكر يا وائل

ملاحظات ممتازه على تحليل قاعدة البيانات

جاري تجربة الكود

تحياتي

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

#14

مش عارف اشكرك ازاي

الكود شغال مئة في المئة

تحياتي

الحمد لله الذي هدانا لهذا وماكنا لنهتدي لولا ان هدانا الله

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

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