11-08-17, 12:00 AM
(آخر تعديل لهذه المشاركة : 11-08-17, 12:01 AM {2} بواسطة سعود الشامان.)
السلام عليكم ورحمة الله وبركاته
إخواني الأعزاء اريد المساعدة في إظهار المنتجات اللتي سوف تنتهي صلاحيتها قبل يومين او بتحديدها من المستخدم
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