تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[ تمّ الحل ] : مساعدة حول الطباعة المخصّصة
#1
السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم .. أرجو أن تكونوا بتمام الصحّة و العافية و راحة البال إن شاء الله
كرم و إحسان منكم .. إن كان بالإمكان المساعدة في حل هذه الإشكالية
لم يسبق لي أبدًا التّعامل مع الكريستال ريبورت و لم أعرف كيف أبدأ
بالملف المرفق يمكن طباعة محتويات الداتا غريد كاملة أو طباعة حسب البحث بالحرف الأوّل عن الاسم ..هذا بالفورم 4 و الفورم 5 و الكريستال ريبورت 2 ..
إلى هنا كل شيء تمام و يعمل بشكل جيّد و الحمد لله
الإشكالية :
أريد بالفورم 1 و الفورم 2 و صفحة الكريستال ريبورت 1 تقسيمها إلى قسمين
أقصد تقسيم صفحة الكريستال ريبورت 1 .. النصف العلوي لبيانات سجل و النصف الثاني السفلي لبيانات سجل آخر
لو كتبت بالفورم 1 بالتاكست 1 الرقم 1 مثلا و بالتاكست 2 الرقم 2 .. يظهر بصفحة الطياعة بيانات السجل رقم 1 و بيانات السجل رقم 2 ..
لو كتبت بالفورم 1 .. الطباعة من 10 إلى 11 مثلا ..
تظهر بصفحة الطباعة بينات السجل رقم 10 و بيانات السجل رقم 11 ... إلخ
أرجو المعذرة منكم .. قد تكون العملية ربّما مجهدة لكن صدّقوني حاولت بمعرفتي المتواضعة و لم أصل إلى الحل المناسب
بارك الله فيكم و لكم مقدّمًا و جزاكم خير الجزاء
إحتراماتي


الملفات المرفقة
.rar   الطباعة حسب الطلب.rar (الحجم : 667.16 ك ب / التحميلات : 81)
الرد
تم الشكر بواسطة: Amir_Alzubidy , Amir_Alzubidy
#2
CrystalReports

التفاصيل توضع فقط في Details Section

ولاجبار التقرير عرض تفاصيل سطرين فقط في كل صفحة اعمل التالي:
في رأس Details section إضغط زر يمين واختار Section Expert
في النافذة التي ستظهر اختار التبوين Paging
ضع ✓ في End of Section ثم اضغط الزر [x-2] الخاص به
في نافذة التحرير التي ستظهر اكتب IF (RecordNumber MOD 2 = 0) THEN TRUE

الرد
#3
السّلام عليكم و رحمة الله و بركاته
تسلم أخي الكريم " طالب برمجة " و سلم يمينك و دينك على اللمسة الرائعة و المميّزة
معلومة رائعة إستفدت منها كثيرًا  تضاف لقائمة معلومات التي تنوّر بها دروب المتعلّمين أمثالي
زادك الله من علمه و فضله و أفاض عليك بطيّبات و أرزاق الدنيا و الآخرة
فعلا تحقّق إظهار فقط سجلّين على صفحة التّقرير ..
بقيت لي إشكالية أخي الكريم و هو أنّ التّقرير يظهر فقط السجل رقم 1 و السجل رقم 4 ..
حاولت بهذا الكود لإظهار السجلات المكتوبة بالتاكست 1 و التاكست 2 لكن دون فائدة
كود :
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Application.DoEvents()
       Dim ConInfo As New CrystalDecisions.Shared.TableLogOnInfo
       ConInfo.ConnectionInfo.ServerName = Application.StartupPath & "\SONDOSS.mdb"
       ConInfo.ConnectionInfo.DatabaseName = "SONDOSS.mdb"
       ConInfo.ConnectionInfo.UserID = "Admin"
       ConInfo.ConnectionInfo.Password = ""
       Dim rpt1 As New CrystalReport1
       rpt1.Database.Tables(0).ApplyLogOnInfo(ConInfo)
       rpt1.SetDataSource(DataSet1)

       Dim Xxx = Val(TextBox1.Text)
       Dim yyy = Val(TextBox2.Text)
       SQLstr = "Select * From STUDENT where [IDD] BETWEEN " & Xxx & " and " & yyy & " ORDER BY [IDD]"
       DataSet1.Clear()
       Dim DataAdapters As New OleDbDataAdapter(SQLstr, Conn)


       Dim frm As New Form2
       frm.CrystalReportViewer1.ReportSource = rpt1
       frm.CrystalReportViewer1.LogOnInfo(0).ConnectionInfo.Password = ""
       frm.ShowDialog()
   End Sub

لو تكرّمت بالنّظر في هذا الاستعلام و تصحيح إن كان ذلك ممكنا
أشكرك جزيل الشكر مقدما
إحتراماتي 
الرد
تم الشكر بواسطة: Amir_Alzubidy
#4
باركك الرب

الخطأ السابق كان في نوع IDD فهو نصي وليس رقمي، وكان يجب أن توضع قيمها بين علامات تنصيص '   '
والأخر لم يتم تنفيذ الاستعلام بعد أن أنشاء DataAdapters
والآخير تم ربط التقرير مع قاعدة البيانات قبل الاستعلام الجديد

إذاً، ربط التقرير بالبيانات يكون بعد تنفيذ الاستعلام

هذا تعديل للكود وقد حذفت الغير ضروري
PHP كود :
     Private Sub Button1_Click(ByVal sender As ObjectByVal e As EventArgsHandles Button1.Click
        Dim Xxx 
Val(TextBox1.Text)
 
       Dim yyy Val(TextBox2.Text)
        
Dim dt As New DataTable
        SQLstr 
"Select * From STUDENT where [IDD] BETWEEN @id1 and @id2 ORDER BY [IDD]"
 
       Dim DataAdapters As New OleDbDataAdapter(SQLstrConn)
 
       DataAdapters.SelectCommand.Parameters.AddWithValue("@id1"Xxx)
 
       DataAdapters.SelectCommand.Parameters.AddWithValue("@id2"yyy)
 
       If DataAdapters.Fill(dt) > 0 Then
            Dim rpt1 
As New CrystalReport1
            rpt1
.SetDataSource(dt)

 
           Dim frm As New Form2
            frm
.CrystalReportViewer1.ReportSource rpt1
            frm
.ShowDialog()

 
       Else
            MsgBox
("لا توجد نتائج بين الرقمين")

 
       End If
 
   End Sub 
يستحسن استخدام DataTable بدلا من DataSet
الرد
#5
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك أخي الكريم و جزاك خير الجزاء
أرجو المعذرة أتعبتك معي بكثرة تساؤلاتي .. عسى الله أن يعوّضك بخير و أحسن منها إن شاء الله
الفكرة أخي الفاضل هي طباعة كشوف نقاط للتّلاميذ ..الورقة الواحدة تكفي لطباعة كشفيْن إثنيْن
قد يكون مثلاً لديَّ 30 تلميذًا و أودّ طباعة الكشوف من 1 إلى  13 حسب الحقل IDD
هنا تتم طباعة كشوف نقاط التّلميذ من رقم 1 بقاعدة البيانات لغاية التّلميذ رقم 13 .. قد تكون ورقة الكشفين الأخيرين بها جزء سفلي فارغ .. هذا لا يهم .. لأنّ العدد فردي
لو أردت إكمال الطباعة بوقت آخر .. فقط أكتب بالتاكست 1 الرقم 14 و بالتاكست 2 الرقم 30 لإكمال ما تبقّى من الكشوف
جرّبت أخي الكريم كتابة بالتاكست 1 الرقم 4 و بالتاكست 2 الرقم 5 .. لكن ظهر بالتّقرير فقط بيانات سجل واحد رقم 4 .. و لو أردت إظهار السجلين 4 و 5 يجب كتابة بالتاكست 2 الرقم 6 وهو غير موجود أصلا بقاعدة البيانات
الرجاء فضل و كرم و إحسان منك النظر بالملف المرفق
و لك منّي كل الشّكر و التّقدير
إحتراماتي


الملفات المرفقة
.rar   الطباعة حسب الطلب.rar (الحجم : 668.91 ك ب / التحميلات : 60)
الرد
تم الشكر بواسطة: Amir_Alzubidy
#6
جرب تكتب بالتاكست 1 الرقم 444 و بالتاكست 2 الرقم 555 سيظهر التقريران

من الأساس وضع IDD نصي هو سبب المشكلة

جرب تغير نوع الحقل الى رقم (وهو المستحسن) ولكن ستجد نفسك مجبر على كتابة الرقم 444 وليس 4

ما رأيك أن تستخدم ورق A5 ومقاسها نصف مقاس ورق A4
إن كان المقصود تقارير تسلم لكل تلميذ فيصبح شكل تقرير منفصل لكل تلميذ فهذا أفضل
الرد
تم الشكر بواسطة: Amir_Alzubidy , Amir_Alzubidy
#7
السّلام عليكم و رحمة الله و بركاته
تسلم أخي الكريم و سلم يمينك و دينك
بصراحة ليس لي أدنى فكرة عن المقاس A5 و إن كنت ترى أنّه الأنسب فلا بأس من توضيح الفكرة الله يخلّيك
رغم أنّي أفضل العمل على ورقة 29.7 *21 .. فقط لأني تعودت عليها .. و هي المتوفرة بكثرة لدي
أنا عملت الفكرة لكن بالفيجوال بيسك 6 و الأكتيف ريبورت  لكن إنتقالي للدوت نت فأردت تطبيق نفس الفكرة
سأحاول تصميم أكثر دقة و أرسله هنا للنظر أخي الكريم
إحتراماتي
الرد
تم الشكر بواسطة: Amir_Alzubidy
#8
إذا أردت نصيحتي استخدم الريبورت فيور ReportViewer ففيها إمكانيات سهلة بعيده عن تعقيد الكريستلا ريبورت CrystalReport

بالنسبة لورق مقاس A5 فهي نصف مقاس A4 وعندها لن تحتاج إلا قص ورق A4 نصفين وتكون المسألة أكثر سهولة وتنظيماً.
ومتناسقة من ناحية الهوامش أيضاً.
الرد
تم الشكر بواسطة: عبد العزيز البسكري , Amir_Alzubidy
#9
السّلام عليكم و رحمة الله و بركاته
كيف أخي الكريم أجعل تنسيق الورقة A5 لو سمحت  ؟؟
بارك الله فيك و لك مقدّمًا
تحياتي
الرد
تم الشكر بواسطة: Amir_Alzubidy
#10
عليك بتغيير إعدادت الصفحة في التقرير وذلك بالنقر زر يمين في أي مكان في التقرير واختيار Design ومنه Page Setup
وفي نافذة إعدادات الصفحة التي ستظهر حدد الورق A5 مع تغيير اتجاه الورقة الى Ladscape

وإذا أردت استخدام تقارير ReportViewer فيتم بالنقر زر يمين في خارج حدود التقرير (أي خارج المنطقة البيضاء) وتختار Report Properties
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مساعدة في تعديل تقرير فرعي tahaayyoub 0 249 06-06-20, 10:46 PM
آخر رد: tahaayyoub
  [ تمّ الحل ] : إخفاء ال Text Object من صفحة الكريستال ريبورت عبد العزيز البسكري 7 794 24-02-20, 12:34 AM
آخر رد: alsalamoni
  اواجة مشكلة في crystal Reports [تم الحل] Rabeea Qbaha 1 890 04-07-19, 11:05 PM
آخر رد: Rabeea Qbaha
  [ تمّ الحل ] : إظهار رأس التّقرير و بيانات نهايته بالصفحات المخصّصة عبد العزيز البسكري 9 1,235 18-05-19, 02:46 AM
آخر رد: عبد العزيز البسكري
  طباعة تقرير ال crystal report مباشرة الى الطابعة دون فتحة - تم الحل Rabeea Qbaha 0 1,246 19-04-19, 09:52 PM
آخر رد: Rabeea Qbaha
  اواجة مشكلة في crystal Reports - تم الحل Rabeea Qbaha 2 763 19-04-19, 02:40 PM
آخر رد: Rabeea Qbaha
  [VB.NET] الدوت نت و الطباعة tarek 2 618 14-04-19, 01:17 PM
آخر رد: tarek
  في ما يخص الطباعة hassan 14 17 1,823 11-04-19, 09:16 AM
آخر رد: elgokr
  ( تم الحل ) الترتيب في Crystal report dell 5 741 04-04-19, 01:34 AM
آخر رد: dell
  [سؤال] مشكلة أثناء الطباعة Jounior_P 8 1,088 28-02-19, 02:08 PM
آخر رد: حريف برمجة

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


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