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

عندي خطأ في جمله select للأستعلام عن تاريخ

مغلق
بدأه moonno في 13 أبريل 2007 · 1 رد · 778 مشاهدة · في تصميم وبرمجة التقارير
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أنا أعمل تقرير لعرض سجلات بين تاريخين من DateTimePicker وعند التنفيذ تظهر هذه الرساله" "conversion of select|* from electronic records to type date is not valid "

علما بأن الكود هو هذا وأنا أستخدم قاعدة بيانات sql server 2000 وأنا شغال على vb.net 2005

Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Public Class Form1
	Inherits System.Windows.Forms.Form
	Dim Sqlconn As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection
	Dim cm As New System.Data.SqlClient.SqlCommand
	Dim com As New System.Data.SqlClient.SqlCommand
	Dim ad As New System.Data.SqlClient.SqlDataAdapter
	Dim ds As New DataSet
	Dim Emad As New System.Data.SqlClient.SqlDataAdapter
	Dim Emds As New DataSet
	Dim Emadg As New System.Data.SqlClient.SqlDataAdapter
	Dim Emdsg As New DataSet
	Dim oDadapter As New System.Data.SqlClient.SqlDataAdapter
	Dim ODds As New DataSet
	Dim pad As New System.Data.SqlClient.SqlDataAdapter
	Dim pds As New DataSet
	Dim dg As New DataGridView
	Dim R As New CrystalReport1
	Dim CN As New System.Data.SqlClient.SqlConnection("server=Localhost; uid=sa; pwd=sa; database=Archiving")

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

		Sqlconn.ConnectionString = "server=localhost; uid=sa; pwd=sa; database=Archiving"

	End Sub

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

		Dim PrintersNames As String = ""
		For Each Printer As String In Printing.PrinterSettings.InstalledPrinters
			PrintersNames &= Printer & vbCrLf
		Next
		If PrintersNames = "" Then
			MessageBox.Show("لم يتمكن البرنامج من عرض التقرير بسبب عدم وجود طابعة مثبثة على الجهاز", " Show CrystalReport ... ", MessageBoxButtons.OK, _
					   MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, _
					  MessageBoxOptions.RightAlign)
		Else
			Me.CrystalReportViewer1.Visible = True
		End If
	End Sub

	Private Sub CrystalReportViewer1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrystalReportViewer1.Load
		Dim MyCommand As New SqlCommand()
		Dim rpt As New CrystalReport1
		Dim myDA As New SqlDataAdapter()
		Dim myDS As New DataSet1()
		Dim d As New Date
		dim StoredProcedure as 
		Try
			Sqlconn.Open()
			MyCommand.Connection = Sqlconn
			MyCommand.CommandText = "SELECT * FROM ELECTRONIC_RECORDS"
			MyCommand.CommandType = CommandType.Text
			myDA.SelectCommand = MyCommand
			myDA.Fill(myDS, "ELECTRONIC_RECORDS")
			Sqlconn.Close()
			rpt.Load(Application.StartupPath & "\" & "CrystalReport1.rpt")
			rpt.SetDataSource(myDS.Tables("ELECTRONIC_RECORDS"))
			rpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.DefaultPaperOrientation
			rpt.RecordSelectionFormula = "( {D_DATE} >= Date (" & Format(Me.DateTimePicker1.Value, "yyyy,mm,dd") & ")) AND ( {D_DATE} <= Date (" & Format(Me.DateTimePicker2.Value, "yyyy,mm,dd") & "))"
			   CrystalReportViewer1.ReportSource = rpt
			CrystalReportViewer1.DisplayGroupTree = False
			CrystalReportViewer1.ShowGroupTreeButton = False
			CrystalReportViewer1.RightToLeft = Windows.Forms.RightToLeft.Yes
			CrystalReportViewer1.Zoom(1)
			CrystalReportViewer1.Refresh()
			CrystalReportViewer1.Show()
		Catch ex As Exception
			MessageBox.Show(ex.Message, " Show CrystalReport ... ", MessageBoxButtons.OK, _
		   MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, _
		  MessageBoxOptions.RtlReading)
		End Try
	End Sub

	Private Sub CrystalReport11_InitReport(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrystalReport11.InitReport

	End Sub
End Class

أرجوا منكم المساعدة..

تم تعديل هذه المشاركة بواسطة moonno في 13 أبريل 2007 في 13:02

#2

هذه نتيجه لاختلاف تنسيق التاريخ بين الفيجول وال sql server

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

كالتالى

	m = Format(DTPHDATE.Value, "DD-MM-YYYY")

ثم استخدم المتغير ام للبحث

ASDSUEZ

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

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