منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مشكله فى البحث بين تاريخين
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمه الله 
اخوانى اريد ان ابحث بين تاريخين فى الخزينه ولكنى لم اوفق وهذا هو الكود  الذى استخدمه 
كود :
Private Sub BTNTTQR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNTTQR.Click
       Dim dt1 As New DataTable

       Dim da = New OleDbDataAdapter("select kaznadate, kaznadics, chareg, dischareg  from kazna where kaznadate between '" & D1.Value.ToString("yyyy/MM/dd") & "' and '" & D2.Value.ToString("yyyy/MM/dd") & "'", con)
       da.Fill(dt1)
       DGVKAZNA.DataSource = dt1
   End Sub
ويعطينى تلك النتيجه عند الضصغط على زر البحث

فهل هناك خطأ او من حل لتلك المشكله
استبدل علامة ' بعلامة #
كما هو موضح بهذا الجزء
PHP كود :
between #" & D1.Value.ToString("yyyy/MM/dd") & "# and #" & D2.Value.ToString("yyyy/MM/dd") & "#" 
(16-08-19, 01:34 AM)kiki كتب : [ -> ]استبدل علامة ' بعلامة #
كما هو موضح بهذا الجزء
PHP كود :
between #" & D1.Value.ToString("yyyy/MM/dd") & "# and #" & D2.Value.ToString("yyyy/MM/dd") & "#" 

لا يا اخى نفس النتيجه لم تحل المشكله
نفس السؤال قبل الأمس (كود البحث بين تاريخين به مشكلة) وأعطيك نفس الحل هكذا
PHP كود :
Dim da = New OleDbDataAdapter("select kaznadate, kaznadics, chareg, dischareg  from kazna where kaznadate between @d1 and @d2 "con)
da.selectcommand.parameters.addwithvalue("@d1",D1.Value.date)
da.selectcommand.parameters.addwithvalue("@d2",D2.Value.date
(16-08-19, 02:42 AM)Beginer كتب : [ -> ]نفس السؤال قبل الأمس (كود البحث بين تاريخين به مشكلة) وأعطيك نفس الحل هكذا
PHP كود :
Dim da = New OleDbDataAdapter("select kaznadate, kaznadics, chareg, dischareg  from kazna where kaznadate between @d1 and @d2 "con)
da.selectcommand.parameters.addwithvalue("@d1",D1.Value.date)
da.selectcommand.parameters.addwithvalue("@d2",D2.Value.date

اخى العزيز اولا بارك اللهفيك 
ثانيا اعزرنى فالمشكله اعتقد ان الخزينه تاخذ بياناتها من جداول محتلفه ن فواتير بانواعها والسندات بانواعها 
فليست جدول مستقل
واولا واخير تحكلنى وتحمل كل مبتدأ
ولك جزبيل الشكر والعرفان
وعموما دربتها واعطتنى نفس النتيجه 
كيف اعرض النتائج فى الداتا جريد فيو  ربما الخطأ هنا
السلام عليكم ورحمة الله وبركاته
اخي خالد لديك قيمتان للتاريخ D1 -D2 لكنك لم تسند من اين تأخذ كل واحدة قيمتها 
يفترض تعريفهما كقيمتين تاريخ وتأخذ كل واحدة القيمة من مربع ادخال اليك الكود
 (غير اسماء مربعات النص الى التي تدخل فيها التواريخ عندك)
كود :
End Try
       Try
           Dim D1 As Date = CDate(TextBox1.Text).ToString("yyyy/MM/dd") 'القيمة الاولى مربع نص 1
           Dim D2 As Date = CDate(TextBox2.Text).ToString("yyyy/MM/dd") 'القيمة الثانية مربع نص2

           Dim dt1 As New DataTable
           Dim da = New OleDbDataAdapter("select kaznadate, kaznadics, chareg, dischareg  from kazna where kaznadate between #" & D1 & "# and #" & D2 & "#", con)
           da.Fill(dt1)
           DGVKAZNA.DataSource = dt1
       Catch ex As Exception
       End Try

(16-08-19, 11:36 AM)ابراهيم ايبو كتب : [ -> ]
السلام عليكم ورحمة الله وبركاته
اخي خالد لديك قيمتان للتاريخ D1 -D2 لكنك لم تسند من اين تأخذ كل واحدة قيمتها 
يفترض تعريفهما كقيمتين تاريخ وتأخذ كل واحدة القيمة من مربع ادخال اليك الكود
 (غير اسماء مربعات النص الى التي تدخل فيها التواريخ عندك)
كود :
End Try
       Try
           Dim D1 As Date = CDate(TextBox1.Text).ToString("yyyy/MM/dd") 'القيمة الاولى مربع نص 1
           Dim D2 As Date = CDate(TextBox2.Text).ToString("yyyy/MM/dd") 'القيمة الثانية مربع نص2

           Dim dt1 As New DataTable
           Dim da = New OleDbDataAdapter("select kaznadate, kaznadics, chareg, dischareg  from kazna where kaznadate between #" & D1 & "# and #" & D2 & "#", con)
           da.Fill(dt1)
           DGVKAZNA.DataSource = dt1
       Catch ex As Exception
       End Try

اخى ابراهيم بارك الله فيك ولكن D1 هى اداة DATATIMEBAKE و D2 هى اداة DATATIMEBAKE
فلماذا اعوضهم بتكستات ؟؟؟؟ 
السلام عليكم اخي خالد
المعضلة التي نواجهها مع الكثير من السائلين هي توصيف الحالة ونقص في المعلومات
قل لي كبف لي ان اعرف انك قمت بتسمية DateTimepicker1 بـ D1 و  DateTimepicker2 بـ D2
من خلال كودك وجدت متغيرين هما D1 و D2 وبما انهما غير معروفان بالنسبة لي قلت لك انشئ مربعي نص
اما وانك عرفتهما لاداتي DateTimepicker فلا مشكلة احذف سطري التعاريف
 وضع بدل D1
("D1.Value.ToString("yyyy/MM/dd 
 وبدل D2
("D2.Value.ToString("yyyy/MM/dd