22-05-18, 10:15 PM
(22-05-18, 02:57 PM)hqom كتب : طيب اخي طلب اخير فقط
اللست فيو 1 اريدها ان تسحب الاسماء من قاعدة البيانات لكن بدون تكرار الاسم يعني
عندي محمد عبدالله متكرر ثلاث مرات
اريده ان يضهر في للست فيو 1 = مره واحده فقط
أولاً يجب عليك النقر على السهم الصغير في الليست فيو1 ثم اتبع الصور :
الآن قم بسمح الكود كامل الموجود في كلاس الفورم1 وانسخ هذا كامل والصقة بداله .
كود :
Imports System.Data.OleDb
Public Class Form1
Dim con As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database2.accdb")
Dim cmd As OleDbCommand
Dim adapter As OleDbDataAdapter
ReadOnly dt As DataTable = New DataTable()
'صب خاص بتعبئة الليست فيو1
Private Sub Populate1(name_1 As String)
Dim row As String() = New String() {name_1}
Dim item As ListViewItem = New ListViewItem(row)
ListView1.Items.Add(item)
End Sub
'صب خاص بتعبئة الليست فيو2
Private Sub Populate2(id As String, name_1 As String, Mopile_1 As String, Date_1 As String)
Dim row As String() = New String() {id, name_1, Mopile_1, Date_1}
Dim item As ListViewItem = New ListViewItem(row)
ListView2.Items.Add(item)
End Sub
Private Sub Retrieve2()
'تعبئة الليست فيو2
ListView2.Items.Clear()
cmd = New OleDbCommand("SELECT * FROM hqom", con)
Try
con.Open()
adapter = New OleDbDataAdapter(cmd)
adapter.Fill(dt)
For Each row As DataRow In dt.Rows
Dim id As String = "" : If Not row.IsNull(0) Then id = row(0)
Dim name_1 As String = "" : If Not row.IsNull(1) Then name_1 = row(1)
Dim Mopile_1 As String = "" : If Not row.IsNull(2) Then Mopile_1 = row(2)
Dim Date_1 As String = "" : If Not row.IsNull(3) Then Date_1 = row(3)
Populate2(id, name_1, Mopile_1, Date_1)
Next
dt.Rows.Clear()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
con.Close()
End Try
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Retrieve2()
'''''''''''''''''''''''''''''''''''''''''''
'تعبئة الليست فيو1
ListView1.Items.Clear()
cmd = New OleDbCommand("Select distinct name_1 from hqom", con)
Try
con.Open()
adapter = New OleDbDataAdapter(cmd)
adapter.Fill(dt)
Dim i As Int16 = 1
For Each row As DataRow In dt.Rows
Dim name_1 As String = "" : If Not row.IsNull(1) Then name_1 = row(1)
Populate1(name_1)
Next
dt.Rows.Clear()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
con.Close()
End Try
End Sub
Private Sub ListView1_Click(sender As Object, e As EventArgs) Handles ListView1.Click
'عرض البيانات في الليست فيو2 عند النقر على الليست فيو1
ListView2.Items.Clear()
cmd = New OleDbCommand("SELECT * FROM hqom where name_1='" & ListView1.SelectedItems.Item(0).SubItems(0).Text & "'", con)
Try
con.Open()
adapter = New OleDbDataAdapter(cmd)
adapter.Fill(dt)
For Each row As DataRow In dt.Rows
Dim id As String = "" : If Not row.IsNull(0) Then id = row(0)
Dim name_1 As String = "" : If Not row.IsNull(1) Then name_1 = row(1)
Dim Mopile_1 As String = "" : If Not row.IsNull(2) Then Mopile_1 = row(2)
Dim Date_1 As String = "" : If Not row.IsNull(3) Then Date_1 = row(3)
Populate2(id, name_1, Mopile_1, Date_1)
Next
dt.Rows.Clear()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
con.Close()
End Try
End Sub
End Class
