تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة تنسيق التاريخ في تقرير الكريستال
#1
أعاني من مشكلة تنسيق التاريخ في تقرير الكريستال، حيث أن التاريخ يظهر معه الوقت
على الرغم من أن الحقل في الجدول نوعه (data)
علماً بأن التاريخ عند الاتصال بقاعدة بيانات أكسس يظهر في التقرير بدون وقت
ولكن في جدول قاعدة بيانات SQL يظهر التاريخ مع الوقت.

فمـا هــو الحلُّ ؟!!!!

وهذا هو كود التقريــر
كود :
Private Sub ButReport_Click(sender As Object, e As EventArgs) Handles ButReport.Click
        ' تقريـر الكتب المعـارة
        Try

            If DataGridView1.Rows.Count = 0 Then
                ShowErrorMessageBox("عفـواً ... البيانـات التي قمت باختيـارها غير موجـودة.")
                Exit Sub
            End If

            If Combtasnifs.Text = "" Then
                ShowErrorMessageBox("الرجــاء ... اختيـار  تصنيـف الكتب المعـارة.")
                Combtasnifs.Focus()
                Exit Sub
            End If

            Dim rpt1 As New CrystalReport2
            rpt1.SetDataSource(DT)

            Dim TextName As CrystalDecisions.CrystalReports.Engine.TextObject = rpt1.Section3.ReportObjects("TextName")
            TextName.Text = Form_Main.TextBox1.Text

            Form_Reports.CrystalReportViewer1.ReportSource = rpt1
            Form_Reports.CrystalReportViewer1.Zoom(100)
            Form_Reports.CrystalReportViewer1.Refresh()
            Form_Reports.Show()

        Catch ex As Exception
            ShowErrorMessageBox("عفــوا ... لا يمكن عرض التقريــر.")
        End Try

    End Sub
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:
#2
قم بتجربة الحل التالي


PHP كود :
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions
.Shared

Public Class Form1
    Private Sub ButReport_Click
(sender As ObjectAs EventArgsHandles ButReport.Click
        Try
            
' التحقق من وجود بيانات في DataGridView قبل إنشاء التقرير
            If DataGridView1.Rows.Count = 0 Then
                ShowErrorMessageBox("عفـواً ... البيانـات التي قمت باختيـارها غير موجـودة.")
                Exit Sub
            End If

            If Combtasnifs.Text = "" Then
                ShowErrorMessageBox("الرجــاء ... اختيـار تصنيـف الكتب المعـارة.")
                Combtasnifs.Focus()
                Exit Sub
            End If

            ' 
إنشاء كائن التقرير
            Dim rpt1 
As New CrystalReport2
            rpt1
.SetDataSource(DT' تمرير بيانات DataTable إلى التقرير

            ' 
ضبط النص داخل عنصر TextObject
            Dim TextName 
As TextObject rpt1.Section3.ReportObjects("TextName")
 
           TextName.Text Form_Main.TextBox1.Text

            
' تنسيق حقل التاريخ ليظهر بدون الوقت
            Dim field As FieldObject
            field = CType(rpt1.ReportDefinition.Sections("Section3").ReportObjects("اسم_حقل_التاريخ"), FieldObject)

            ' 
ضبط التنسيق ليظهر فقط التاريخ بدون الوقت
            Dim format 
As New FieldFormat()
 
           format.DateTimeFormat DateTimeFormat.Date
            field
.ApplyFormat(format)

 
           ' عرض التقرير في عارض Crystal Report
            Form_Reports.CrystalReportViewer1.ReportSource = rpt1
            Form_Reports.CrystalReportViewer1.Zoom(100)
            Form_Reports.CrystalReportViewer1.Refresh()
            Form_Reports.Show()

        Catch ex As Exception
            ShowErrorMessageBox("عفــوا ... لا يمكن عرض التقريــر.")
        End Try
    End Sub
End Class 
الرد }}}
#3
(06-02-25, 01:48 AM)Kamil كتب : قم بتجربة الحل التالي


PHP كود :
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions
.Shared

Public Class Form1
    Private Sub ButReport_Click
(sender As ObjectAs EventArgsHandles ButReport.Click
        Try
            
' التحقق من وجود بيانات في DataGridView قبل إنشاء التقرير
            If DataGridView1.Rows.Count = 0 Then
                ShowErrorMessageBox("عفـواً ... البيانـات التي قمت باختيـارها غير موجـودة.")
                Exit Sub
            End If

            If Combtasnifs.Text = "" Then
                ShowErrorMessageBox("الرجــاء ... اختيـار تصنيـف الكتب المعـارة.")
                Combtasnifs.Focus()
                Exit Sub
            End If

            ' 
إنشاء كائن التقرير
            Dim rpt1 
As New CrystalReport2
            rpt1
.SetDataSource(DT' تمرير بيانات DataTable إلى التقرير

            ' 
ضبط النص داخل عنصر TextObject
            Dim TextName 
As TextObject rpt1.Section3.ReportObjects("TextName")
 
           TextName.Text Form_Main.TextBox1.Text

            
' تنسيق حقل التاريخ ليظهر بدون الوقت
            Dim field As FieldObject
            field = CType(rpt1.ReportDefinition.Sections("Section3").ReportObjects("اسم_حقل_التاريخ"), FieldObject)

            ' 
ضبط التنسيق ليظهر فقط التاريخ بدون الوقت
            Dim format 
As New FieldFormat()
 
           format.DateTimeFormat DateTimeFormat.Date
            field
.ApplyFormat(format)

 
           ' عرض التقرير في عارض Crystal Report
            Form_Reports.CrystalReportViewer1.ReportSource = rpt1
            Form_Reports.CrystalReportViewer1.Zoom(100)
            Form_Reports.CrystalReportViewer1.Refresh()
            Form_Reports.Show()

        Catch ex As Exception
            ShowErrorMessageBox("عفــوا ... لا يمكن عرض التقريــر.")
        End Try
    End Sub
End Class 

للأسف لم ينجح الكود معي
خاصية الفيلد (date end time) غير ظاهـــرة في التقريـــر
كيف أظهرها في التقرير حتى تحل المشكلة

[attachment=30027]
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:
#4
قصدي خاصية فيلد التاريخ (date end time) غير موجودة في التقرير
والصورة أخذتها من أحدى المشاريع القديمة.
مع العلم أن الحقل في الجدول نوع date
ولكن عندي في هذا المشروع هذه الخاصية غير موجودة
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ
الرد }}}
تم الشكر بواسطة:
#5
أخي الكريم مصمم هاوي
لتنسيق التاريخ داخل الكريستال ريبورت ما في أفضل من استعمال Formula
قناتنا على اليوتوب
الرد }}}
تم الشكر بواسطة: Zuhare , Zuhare



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


يقوم بقرائة الموضوع: