منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[SQL] استعلام بين تاريخين - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [SQL] استعلام بين تاريخين (/showthread.php?tid=40661)



استعلام بين تاريخين - thabit - 01-02-22

السلام عليكم
الاخوة المبرمجين كيف يتم الاستعلام عن تاريخ من داخل قاعدة البيانات ومقارنته بتاريخ اليوم مع العلم اني اعرف كيف اقارن بين تاريخين ولكن اريد عند فتح الفورم يجلب فقط الحقول التي تحتوي على تاريخ معين ..
ويقارن مع تاريخ اليوم وتكون اقل من ثلاثون يوما 
وللتوضيح اكثر ارفق لكم الكود التالي :

  Dim D1 As Date

            Dim D2 As Date

    ()  Dim TS As New TimeSpan

            D1 = date_1.Value

            D2 = date_2.Value
            TS = D2 - D1
()  con.Open

   
        Dim ds As New DataSet

            Dim dt As New DataTable

            ds.Tables.Add(dt)

            Dim da As New OleDbDataAdapter

            da = New OleDbDataAdapter(" Select emp_name,cbo_job,abss_date,abss_date_re,abss_no,cbo_type from tb_absencess WHERE abss_date between '" + abss_date.Text + "' and '" + abss_date2.Text + "' and abss_no <= 30 ", con)

            da.Fill(dt)


     
       dgv1.DataSource = dt.DefaultView
[b]()  con.Close[/b]



RE: استعلام بين تاريخين - محمود صالح - 01-02-22

وعليكم السلام
استخدم 
PHP كود :
select emp_name,cbo_job,Datediff(DAY,abss_date,GETDATE() )as abss_date,abss_date_re,abss_no,cbo_type  from tb_absencess 

حيث دالة 

كود :
Datediff(DAY,abss_date,GETDATE())

 تعطيك الفرق بين تاريخ الحقل وتاريخ اليوم بالايام 


RE: استعلام بين تاريخين - Taha Okla - 01-02-22

وعليكم السلام ورحمة الله وبركاته :

إن كنت تريد معرفة التاريخ قبل 30 يوماً من اليوم أو تاريخ آخر مقارنة بتاريخ اليوم لتقوم بمقارنته في قاعدة البيانات استخدم الكود التالي :

كود :
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim D1 As Date, D2 As Date

        D1 = Today
        D2 = D1.AddDays(-30)  ' هذا الكود

        MsgBox(D1 & Chr(13) & D2, , "Other Date")
    End Sub



RE: استعلام بين تاريخين - thabit - 01-02-22

(01-02-22, 07:34 PM)محمود صالح كتب : وعليكم السلام
استخدم 
PHP كود :
select emp_name,cbo_job,Datediff(DAY,abss_date,GETDATE() )as abss_date,abss_date_re,abss_no,cbo_type  from tb_absencess 

حيث دالة 

كود :
Datediff(DAY,abss_date,GETDATE())

 تعطيك الفرق بين تاريخ الحقل وتاريخ اليوم بالايام 
حياك الله اخي الفاضل استبدلت جملة الاستعلام بما تفضلت ولكن يعطي الخطأ التالي :
Additional information: Undefined function 'GETDATE' in expression

(01-02-22, 08:10 PM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته :

إن كنت تريد معرفة التاريخ قبل 30 يوماً من اليوم أو تاريخ آخر مقارنة بتاريخ اليوم لتقوم بمقارنته في قاعدة البيانات استخدم الكود التالي :

كود :
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim D1 As Date, D2 As Date

        D1 = Today
        D2 = D1.AddDays(-30)  ' هذا الكود

        MsgBox(D1 & Chr(13) & D2, , "Other Date")
    End Sub
انا مشكلتي هي يجلب القيم التي تحتوي تواريخ من داخل قاعدة البيانات ومن ثم يجري عليها مقارنة 
فاذا كانت القيم اقل من 30 يوم يجلبها لوحدها فقط 
بمعنى اريد ان اجلب القيود التي اقتربت من استحقاق الترقيات


RE: استعلام بين تاريخين - Taha Okla - 01-02-22

كيف تعرف القيم التي اقتربت من الترقيات وعلى أي أساس :
أن يكون لديها أقل من تاريخ معين أو ماذا ؟
فإذا كانت تعتمد على التاريخ :
فتحدد التاريخ الأقصى(30 أو 60  أو أي رقم آخر) الذي تريد البحث ضمنه مع تاريخ اليوم عن طريق الكود الذي ذكرناه أعلاه
تحدد تاريخ البداية مع تاريخ اليوم تبحث ضمن مجال هاذين التاريخن ويعرض لك النتائج.