تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] فعل حدث قبل تاريخ محدد بيومين Acces
#1
السلام عليكم ورحمة الله وبركاته

إخواني الأعزاء اريد المساعدة في إظهار المنتجات اللتي سوف تنتهي صلاحيتها قبل يومين او بتحديدها من المستخدم

1 - لا أريد إظهار المنتج منتهي الصلاحية
2 - لماذا لم يظهر منتج الزبادي ؟!


كود المشروع

كود :
Imports System.Data.OleDb
Public Class Form1
   Public con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Pager.accdb")
   Dim da As New OleDbDataAdapter
   Dim dt As New DataTable
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim da As New OleDbDataAdapter("Select * from tbl_Pager", con)
       Dim dt As New DataTable
       da.Fill(dt)
       DataGridView1.DataSource = dt
       DataGridView1.Columns(0).Visible = False
       DataGridView1.Columns(1).HeaderText = "اسم المنتج" 'تغيير اسم العمود في الداتا قريد
       DataGridView1.Columns(1).Width = 100 'تغيير عرض العمود في الداتا قريد
       DataGridView1.Columns(2).HeaderText = "تاريخ الإنتهاء"
       DataGridView1.Columns(2).AutoSizeMode = DataGridViewAutoSizeColumnsMode.Fill 'تمديد العمود الاخير لنهاية الفورم
   End Sub

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

       Dim conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Pager.accdb")

       Dim sql As String = " SELECT *, DATEDIFF('d',Now(),[date2]) AS remDays  " & _
                           " FROM   [tbl_Pager] " & _
                           " WHERE  DATEDIFF('d',Now(),[date2]) < @days " & _
                           " ORDER BY [date2] "

       Dim com As New OleDb.OleDbCommand(sql, conn)
       com.Parameters.AddWithValue("@days", TextBox1.Text) '<<<<<<<<< حدد عدد الأيام
       Dim dt As New DataTable
       Dim da As New OleDb.OleDbDataAdapter(com)
       If da.Fill(dt) > 0 Then

           For Each r As DataRow In dt.Rows
               Me.ListBox1.Items.Add(r("date2") & " (" & r("remDays") & ") = " & r("Name_1"))
           Next

           MessageBox.Show("يوجد عدد [" & dt.Rows.Count & "] اقترب موعد انتهائها" & vbNewLine & _
                           "وأقربها بقي له [" & dt.Rows(0).Item("remDays") & "] يوم/أيام")

       End If

   End Sub


End Class
الرد
تم الشكر بواسطة:
#2
إقتباس :إخواني الأعزاء اريد المساعدة في إظهار المنتجات اللتي سوف تنتهي صلاحيتها قبل يومين او بتحديدها من المستخدم
هل تقصد بالفعل قبل يومين ام بعد يومين
الرد
#3
(11-08-17, 12:08 AM)سعود كتب :
إقتباس :إخواني الأعزاء اريد المساعدة في إظهار المنتجات اللتي سوف تنتهي صلاحيتها قبل يومين او بتحديدها من المستخدم
هل تقصد بالفعل قبل يومين ام بعد يومين

قبل يومين يالغالي Heart
الرد
تم الشكر بواسطة: مبرمج مبتدا , أبو نوره , أبو نوره
#4
(11-08-17, 12:09 AM)سعود الشامان كتب :
(11-08-17, 12:08 AM)سعود كتب :
إقتباس :إخواني الأعزاء اريد المساعدة في إظهار المنتجات اللتي سوف تنتهي صلاحيتها قبل يومين او بتحديدها من المستخدم
هل تقصد بالفعل قبل يومين ام بعد يومين

قبل يومين يالغالي Heart



اذا كان القصد اظهار النتائج التي ستنتهي بعد يوم او يومين او بعد س يوم انظر للمثال

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

كود :
Public Class Form1
   Dim con As New OleDb.OleDbConnection("provider=microsoft.ace.oledb.12.0;data source=" & Application.StartupPath & "\db.accdb")
   Dim dt As DataTable
   Dim da As OleDb.OleDbDataAdapter
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Dim dfrom As Date = Now.Date.ToShortDateString
       Dim d As Integer = 0
       If rafter.Checked Then
           d = Val(TextBox1.Text)
       ElseIf rbefor.Checked Then
           d = Val(-Val(TextBox1.Text))
       End If
       dt = New DataTable
       da = New OleDb.OleDbDataAdapter("", con)
       da.SelectCommand.CommandText = "select * from tb where tfinish=@tfinish"
       da.SelectCommand.Parameters.AddWithValue("@tfinish", dfrom.AddDays(d))
       da.Fill(dt)
       ListBox1.DataSource = dt
       ListBox1.DisplayMember = "tn"
   End Sub
End Class
عدلت على المثال بان اضفت زري راديو  rafter and rbefor

المثال مرفق بعد التعديل



الملفات المرفقة
.zip   WhoFinishAfter1Day.zip (الحجم : 57.66 ك ب / التحميلات : 109)
الرد
تم الشكر بواسطة: أبو نوره , سعود الشامان
#5
الله يسسعدك يا سعود

انا متابع معكم لكن كنت اعتقد ان القاعده اكسل وليست اكسس

تم تحميل المثال وحصلت على ما اريد شكرا لكك

رابط المشاركة للفائده

http://vb4arb.com/vb/showthread.php?tid=...#pid103916
الرد
تم الشكر بواسطة: أبو نوره


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  استفسار حول استرداد تاريخ ايام الاسبوع fuad_alshujaa 2 107 29-08-19, 11:10 PM
آخر رد: fuad_alshujaa
  [VB.NET] اختيار عنصر محدد بالكمبوبوكس محمد اسماعيل 6 197 22-08-19, 11:09 PM
آخر رد: ابراهيم ايبو
  تحويل قيمة نصية الى تاريخ ؟؟؟ BigProg 4 168 02-08-19, 03:55 PM
آخر رد: BigProg
  استفسار عن اظهار تاريخ اول يوم واخر في الشهر fuad_alshujaa 7 274 20-07-19, 06:48 AM
آخر رد: ابراهيم ايبو
  [VB.NET] تشغيل الكمبيوتر فى وقت محدد سابقا abo_baraa2007 0 124 17-07-19, 09:01 PM
آخر رد: abo_baraa2007
  [سؤال] إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز السندبااد 5 286 26-04-19, 12:41 PM
آخر رد: elgokr
  سؤال حول عمل فولدر يومى تلقائى واسم الفولدر هو تاريخ انشائة Lathe1 3 294 22-03-19, 04:22 PM
آخر رد: asemshahen5
  [سؤال] بخصوص تاريخ سداد اشتراك لسه مبتدئ 3 268 25-02-19, 11:12 AM
آخر رد: elgokr
  زيادة ونقص اداة التاريخ عند تغيير تاريخ اداة التاريخ الاخري atefkhalf2004 4 381 24-02-19, 04:50 PM
آخر رد: حريف برمجة
  عرض قيمة تاريخ اليوم فقط محمد خيري 11 503 05-02-19, 11:39 AM
آخر رد: محمد خيري

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم