(05-07-18, 02:17 PM)elgokr كتب :فى هذه الحالةستجعل كود الاستعلام بهذا الشكل
كود :
"SELECT * FROM nametable WHERE date Like '%" & ComboBox1.Text & "%'"
كود الاستعلام كمثالقم بالتعديل على المسميات
وحيث ان ComboBox ستكون قائمة تحتوى على ارقام السنوات
تحياتى لكوتمنياتى لك التوفيق
احسنت بارك الله فيك
واعتذر لاني ما عرفت اوصل الفكرة بشكل جيد
(05-07-18, 02:44 PM)سعود كتب : شوف اخي الكريم لا اريد الاستفسار لكن اذكرك بالطريقة التالية لاستخلاص السنة من التاريخ الطويل
بعد ان تحصل على التواريخ من الجدول طبق الكود cdate(7/5/2017).yearPHP كود :
TextBox2.Text = CDate(TextBox1.Text).Year
PHP كود :
Public Class Form1
Dim str As String = "provider=microsoft.ace.oledb.12.0;data source=db.accdb"
Dim con As OleDb.OleDbConnection
Dim da As OleDb.OleDbDataAdapter
Dim cm As OleDb.OleDbCommandBuilder
Dim dta As DataTable
Dim all_date As New List(Of String)
Private Sub gd()
con = New OleDb.OleDbConnection(str)
Dim sql As String = "select * from tb"
da = New OleDb.OleDbDataAdapter(sql, con)
cm = New OleDb.OleDbCommandBuilder(da)
dta = New DataTable
da.Fill(dta)
If dta.Rows.Count > 0 Then
For r As Integer = 0 To dta.Rows.Count - 1
Dim yr As String = CDate(dta.Rows(r).Item(2)).Year
all_date.Add(yr)
Next
End If
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim row As DataRow = dta.NewRow
row(1) = tname.Text
row(2) = CDate(tdate.Text).ToShortDateString
dta.Rows.Add(row)
da.Update(dta)
d.Refresh()
End Sub
Private Sub c_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles c.SelectedIndexChanged
If c.Items.Count = 0 Then Exit Sub
d.Rows.Clear()
For r As Integer = 0 To all_date.Count - 1
Dim rowdate As String = all_date(r)
If rowdate = c.Text Then
d.Rows.Add(dta.Rows(r)(1), CDate(dta.Rows(r)(2)).ToShortDateString)
End If
Next
End Sub
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
gd()
End Sub
End Class
الكومبوبكس عباته يدويا اثناء التصميم
2008
2015
2017
و هكذا
المثال لكي يتضح المقال
احسنت بارك الله فيك
الكود يعمل بشكل جيد وهو المطلوب
ط
بس هناك تغيير صغير
انا اعمل على
ListView والكود الخاص بك ب DataGridView
وهذا الكود الخاص بي
كود :
Sub fill()
Dim con As New SQLiteConnection(String.Format("Data Source= C:\DB{0}.s3db", strbk))
lst1.FullRowSelect = True
Me.lbl_start.Text = "0 / 0"
Dim da As New SQLiteDataAdapter("SELECT (SELECT COUNT(*) FROM [DB" & strbk & "] t WHERE [DB" & strbk & "].id >= t.id) AS [Serial], * FROM [DB" & strbk & "] ", con)
lst1.Items.Clear()
dt.Clear()
If da.Fill(dt) > 0 Then
totalpages = Math.Ceiling(dt.Rows.Count / perpage)
viewpage(page)
End If
End Sub
Private Sub Form_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
fill()
Application.DoEvents()
End Subمحتاج لمسه منك ليضبط بارك الله فيك
وشكرا عل مجهودك

