24-02-18, 02:45 AM
(24-02-18, 01:41 AM)طالب برمجة كتب : اعتذر اليك للظرف السابق ذكره
لكن Between تأخذ تاريخين،
في النهاية يمكن بالبرمجة تحقيق ما تريد،
هذا الكود يعطيك ثلاث احتمالات
الاول
لو كتبت التاريخ كامل في مربع النص مثلا 23/2/2018
فسيصبح التاريخ الأول 23/2/2018 والتاريخ الثاني 23/2/2018 متطابقان
أي كانها ليست عملية بين تاريخين
الثاني
لو كتبت 2017 فيتم التعرف عليه على انه سنة
فسيصبح التاريخ الأول بداية السنة 1/1/2017 والتاريخ الثاني نهاية السنة 31/12/2017
هنا العملية بين تاريخين
الثالث
لو كتبت 29/5 وكانت السنة الحالية (2018) بدون كتابتها
فسيصبح التاريخ الأول 29/5/2018 والتاريخ الثاني 29/5/2018
أي انها نفس اليوم المحدد للسنة الحالية وكان العملية ليست بين تاريخين
PHP كود :
Dim d1 As Date = Today, d2 As Date = Today, txt As String = TextBox1.Text.Trim
If IsDate(txt) Then
d1 = CDate(txt)
d2 = CDate(txt)
ElseIf IsNumeric(txt) AndAlso Val(txt) > 1900 Then
d1 = New Date(Val(txt), 1, 1)
d2 = New Date(Val(txt), 12, 31)
ElseIf txt.Split("/").Count = 2 Then
Dim s() = txt.Split("/")
d1 = New Date(Year(Today), Val(s(1)), Val(s(0)))
d2 = New Date(Year(Today), Val(s(1)), Val(s(0)))
End If
Dim DataAdapter As New OleDbDataAdapter("SELECT * FROM TB1 WHERE DATENOW_TB BETWEEN @d1 AND @d2 ", con)
DataAdapter.SelectCommand.Parameters.AddWithValue("@d1", d1)
DataAdapter.SelectCommand.Parameters.AddWithValue("@d2", d2)
DataSet1.Clear()
DataAdapter.Fill(DataSet1, "TB1")
لا تثقل علي نفسك ظروفك تستدعي الراحة .
وفرج قريب انشاء اللّة بشفاؤها .
لعل الأخاء بيننا يكبرني علي الاطمئنان علي مريضتك.