01-07-19, 02:24 PM
السلام عليكم اخي الكريم
بغض النظر عن الاخطاء في كودك الذي تستخدمه
فانت تقوم بالاستعلام وفق شرطين لكل من حقل الزيارة والمغادرة
للزيارة
1- ان يكون التاريخ اكبر أو يساوي 1/7/2019
2 وان يكون التاريخ اصغر اويساوي 6/7/2019
للمغادرة
3- ان يكون التاريخ اكبر أو يساوي 1/7/2019
4- وان يكون التاريخ اصغر اويساوي 6/7/2019
ومحمد يحقق ثلاث شروط فقط وهي الاول والثاني والثالث
اما الرابع فلا يتحقق عنده لان تاريخ المغادرة عنده اكبر من الاستعلام 7/7/2019
لذلك لن يكون ضمن قائمة الاستعلام لان العبارة AND يجب تحقيقها كاملة
ارجو ان تكون الفكرة قد اتضحت
واليك كود للبحث فقط قم بتغيير الحقول والجدول واسماء الادوات .. وفي الكود يوجد استعلام اخر لحقل الزيارة فقط
كود :
Public Sub SearhBetween(ByVal DD1 As Date, ByVal DD2 As Date)
Dim dt As New DataTable
Dim cmd As New SqlCommand()
dt.Clear()
cmd = New SqlCommand("SELECT * FROM CG WHERE CG_Come >= @DD1 AND CG_Come <= @DD2 and CG_Go >= @DD1 AND CG_Go <= @DD2", Cn) ' استعلام زيارة وخروج اي شرطين تاريخ ادنى وتاريخ اعلى لكل من الزيارة والخروج وبذلك 4 شروط
'cmd = New SqlCommand("SELECT * FROM CG WHERE CG_Come >= @dt1 AND CG_Come <= @dt2", Cn) ' استعلام زيارة بشرطين تاريخ ادنى وتاريخ اعلى
cmd.Parameters.Add("@DD1", SqlDbType.Date).Value = Dtp_Come.Value
cmd.Parameters.Add("@DD2", SqlDbType.Date).Value = Dtp_Go.Value
If Cn.State = ConnectionState.Open Then
Cn.Close()
End If
Cn.Open()
dt.Load(cmd.ExecuteReader())
Cn.Close()
dgv_table.DataSource = dt
End Subكود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SearhBetween(Dtp_Come.Value, Dtp_Go.Value)
End Subاعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات
