تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
درس مبسط :تمرير القيم من برامجنا لتقارير الكريستال ريبورت
#1
بسم الله الرحمن الرحيم

ملاحظة:
الموضوع منقول من المنتدى القديم
وهو للأخ نور نبهان

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

الدرس:
افتح Microsoft Visual Studio2008 و أنشا مشروع جديد تحت المسمى الذي تريد
أذهب للنموذج Form1 وأضف عليه زر أمر Button1 وبعض الليبل Label و صناديق النص TextBox وهذا هو التصميم المبدئي للفورم الأول :
الآن فورم ثاني frmPrint أضف له CrystalReportViewer1 من شريط الأدوات وهذا شكل التصميم :
الآن من قائمة Project1 اختر Add New Item واختر تبويب Reporting وعلم على CrystalReport كما في الصورة التالي :
واختر Add
سيتم فتح التقرير في وضع التصميم :
اذهب لنافذة Field Explorer في الجهة اليسرى واختر Parameter Field
ثم اضغط بالزر الأيمن واختر NEW جديد.لإضافة متغير جديد للقائمة :
اختر أي اسم تريد وكذلك نوع المتغير من القائمة بحسب المطلوب وكرر ذلك بحسب ما تريد من متغيرات
أضف لمثالنا : 2 متغير من نوع String و3 من نوع Number وسمها مثلا :
NourP1,NourP2,NourP3,NourP4,NourP5
بعد إضافة المتغيرات قمت بسحبها بالفأرة إلى التقرير وإفلاتها في المكان الذي تريد كما في الصورة للتوضيح

لاحظ الأسماء الكبيرة هي فقط نصوص للتوضيح و المتغيرات هي ذات الخط الصغير
بذلك انتهينا من تصميم النماذج والتقرير ونتجه إلى جوهر الموضوع وهو كتابة الكود.
اذهب للفورم الأول وضغطتين على Button1 زر الطباعة واكتب الكود التالي :
PHP كود :
Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click
        
'زر الطباعة
        '
احداث تقرير طباعة
        Dim NourCrystal 
As New CrystalReport1
        
'المصدر
        frmPrint.CrystalReportViewer1.ReportSource = NourCrystal
        '
حجم العرض
        frmPrint
.CrystalReportViewer1.Zoom(100%)
        
'تحديث التقرير
        frmPrint.CrystalReportViewer1.Refresh()
        '
تغيير عنوان فورم الطباعة
        frmPrint
.Text "لاتنسونا من دعوة صالحة "
        '%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        '
اسم الشركة  
        NourCrystal
.SetParameterValue(0TextBox1.Text)
        
'اسم المستخدم 
        NourCrystal.SetParameterValue(1, TextBox2.Text)
        '
العلامة الاولى 
        NourCrystal
.SetParameterValue(2TextBox3.Text)
        
'العلامة الثانية 
        NourCrystal.SetParameterValue(3, TextBox4.Text)
        '
المجموع 
        NourCrystal
.SetParameterValue(4TextBox5.Text)
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        
frmPrint.Show()
    
End Sub 
طبعا الكود مشروح ضمناً
لكن لاستيعاب الأمر بالنسبة لتخزين قيمة المتغيرات :
لاحظ هذا السطر من الكود وهو كل موضوعنا
رمز برمجي:
PHP كود :
NourCrystal.SetParameterValue(0TextBox1.Text
فهنا قمنا بتمرير محتوى TextBox1 إلى المتغير الأول حيث يبدأ الترقيم من الصفر والمتغير في مثالنا كان NourP1
فمتغيرات التقرير التي أضفناها هي كما في الصورة :
ولكي نسند قيمة لأحدها نستخدم الكود السابق :
رمز برمجي:

NourCrystal.SetParameterValue(x,y)
حيث قيمة x هو ترتيب المتغير ففي الصورة السابقة
NourP1=0
NourP2=1
NourP3=2
NourP4=3
NourP5=4
و قيمة y هي ما نريد وضعه في المتغير (نص رقم .........الخ)
يمكن أن نسند قيم صندوق نص كما سبق
أو قيمة متغير مخزن فيه عملية حسابية مثال
'المجموع

PHP كود :
Dim x As Integer        x Val(TextBox3.Text) + Val(TextBox4.Text)        NourCrystal.SetParameterValue(4x
ومن الإعدادات المخزنة :
PHP كود :
NourCrystal.SetParameterValue(4My.Settings.namecop
أو بالحساب المباشر :
'المجموع
PHP كود :
NourCrystal.SetParameterValue(4Val(TextBox3.Text) + Val(TextBox4.Text)) 
أو أي شرط نريده.
فقط تذكر أن هذا كل ما تريد :

[b]NourCrystal.SetParameterValue(ترتيب المتغير, القيمة)
طبعا أستهل الفرصة لطلب الدعاء منكم للنجاح في الاختبار القادم لي في الأيام القليلة المقبلة
و الله ولي التوفيق
و السلام عليكم ورحمة الله وبركاته



ملاحظة: تم وضع الموضوع بملف PDF بالمرفقات للحفاظ على الصور + مثال على الشرح .
[/b]


الملفات المرفقة
.zip   NourCrystal.zip (الحجم : 99.3 ك ب / التحميلات : 509)
.pdf   vb4arab-com_2.pdf (الحجم : 378.91 ك ب / التحميلات : 481)
الرد }}}}
تم الشكر بواسطة: alwasela
#2
الاستاذ الفاضل : M.Sami.AK
أولاً شهادة أمام الله أن هذا المنتدى وأعضاؤه يمثلون أسمى انواع الأخلاق .. في الاهتمام بالرد على تساؤلات المشتركين .
قضيت 6 شهور أبحث عن حل لتلك المشكلة .. وهذا أول رد لي بالخطوات وشاكر جداً لرد حضرتك .. وحجرب وأرد على حضرتك
الرد }}}}
تم الشكر بواسطة:
#3
ألف شكر و تحية
الرد }}}}
تم الشكر بواسطة:
#4
أصلح الله بالك وجزاك الله خير
هل احتفظت بأعمال آخرى
الرد }}}}
تم الشكر بواسطة:
#5
شكرا .............
الرد }}}}
تم الشكر بواسطة:
#6
بارك الله فيك درس مفيد ومهم
الرد }}}}
تم الشكر بواسطة:
#7
شكرا جزيلا لكم على ما تبذلونه من جهد لنقل المعلومة المفيدة.
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تمرير صورة الى Crystal Report Sajad 14 6,266 20-04-16, 10:10 AM
آخر رد: saharmoubarak
  تمرير نواتج ال DATAREADER لمعادلة او TEXT فى الكريستال badr123456 0 247 21-11-15, 05:57 PM
آخر رد: badr123456
  العمليات الحسابية من قاعدة البيانات الى تقرير الكريستال ريبورت مباشرة aftfm 0 684 02-12-14, 06:29 AM
آخر رد: aftfm
  التعامل مع TextObject فى الكريستال ريبورت بدون قاعدة بيانات Omar Mekkawy 2 1,688 29-11-14, 01:58 AM
آخر رد: mero5000
  تمرير صورة الى CrystalReport Sajad 16 3,747 23-08-13, 02:33 PM
آخر رد: Sajad
  كيفية تمرير البيانات الى Microsoft Report باستخدام الباراميترات Sajad 67 11,989 11-08-13, 07:21 PM
آخر رد: Sajad
  حصريا مسلسل التقارير وكريستال ريبورت 10 أو xi حماده عماره 3 1,665 25-05-13, 02:52 PM
آخر رد: shaker.soft
  مقطع فيديو شرح داتا ريبورت ابوعبدالعزيز 2 1,001 20-11-12, 01:06 AM
آخر رد: مبرمج بلا حدود
  علم تقارير الكريستال باحتراف (حماده عماره) حماده عماره 2 1,969 17-10-12, 04:02 PM
آخر رد: AbaAlHaitham
  التقارير الفرعيه في الكريستال (فن وابداع) الجزء الثالث RaggiTech 0 922 10-10-12, 01:39 PM
آخر رد: RaggiTech

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


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