تقييم الموضوع :
  • 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 ك ب / التحميلات : 107)
الرد
تم الشكر بواسطة: أبو نوره , سعود الشامان
#5
الله يسسعدك يا سعود

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

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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] إجراء عمليات على تاريخ بتنسيق مختلف عن تنسيق الجهاز السندبااد 5 189 26-04-19, 12:41 PM
آخر رد: elgokr
  سؤال حول عمل فولدر يومى تلقائى واسم الفولدر هو تاريخ انشائة Lathe1 3 204 22-03-19, 04:22 PM
آخر رد: asemshahen5
  [سؤال] بخصوص تاريخ سداد اشتراك لسه مبتدئ 3 182 25-02-19, 11:12 AM
آخر رد: elgokr
  زيادة ونقص اداة التاريخ عند تغيير تاريخ اداة التاريخ الاخري atefkhalf2004 4 269 24-02-19, 04:50 PM
آخر رد: حريف برمجة
  عرض قيمة تاريخ اليوم فقط محمد خيري 11 393 05-02-19, 11:39 AM
آخر رد: محمد خيري
  كيفية حساب عدد تشيك بوكس محدد في التقرير Emam emam 5 327 01-02-19, 04:02 AM
آخر رد: princelovelorn
  إريد تنبيه إذا كان التاريخ اكبر من أو يساوي تاريخ اليوم. أبووسم 8 434 10-01-19, 01:48 PM
آخر رد: أبووسم
Heart سؤال عن حساب السن (العمر) عن طريق تاريخ الميلاد ahmadpal 10 555 07-12-18, 04:52 PM
آخر رد: ahmadpal
  استمرار تاريخ اليوم حتي بعد الساعة الثانية عشر صباحا atefkhalf2004 3 327 02-11-18, 12:40 PM
آخر رد: atefkhalf2004
  ما هو كود البحث عن تاريخ باستخدام datetimepicker فى sql server كود vb.net vb2010 2 300 23-10-18, 04:29 PM
آخر رد: ابو يوسف النواوي 2

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


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