Dim contemp As New OleDbConnection
Dim comtemp As New OleDbCommand
Dim adptemp As New OleDbDataAdapter
Dim dtTablenames As New DataTable
Dim dtselect As New DataTable
contacts.Nodes.Clear()
Dim myRootNode As TreeNode = New TreeNode("Contacts")
If OpenFileDialog1.ShowDialog = DialogResult.OK Then
contemp.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & OpenFileDialog1.FileName & ";User Id=admin;Password=;"
Try
contemp.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
Try
dtTablenames = contemp.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
ListBox1.Text = "Select a Contact Group"
ListBox1.DataSource = dtTablenames
ListBox1.DisplayMember = dtTablenames.Columns(2).ColumnName
ListBox1.ValueMember = dtTablenames.Columns(2).ColumnName
comtemp.Connection = contemp
adptemp.SelectCommand = comtemp
For Counter As Integer = 0 To dtTablenames.Rows.Count - 1
If dtTablenames.Rows(Counter).Item(2).ToString.ToLower.StartsWith("msys") = False Then
Dim ContactArray As New ArrayList
dtselect = New DataTable
comtemp.CommandText = "select Name from [" & dtTablenames.Rows(Counter).Item(2) & "] order by Name"
Try
adptemp.Fill(dtselect)
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
'Exit Sub
End Try
For inttemp2 As Integer = 0 To dtselect.Rows.Count - 1
ContactArray.Add(New TreeNode(dtselect.Rows(inttemp2).Item(0)))
Next
Dim Count As Integer = ContactArray.Count
ContactArray.TrimToSize()
Dim myContacts() As TreeNode = New TreeNode(Count - 1) {}
ContactArray.CopyTo(myContacts)
Dim myTableNode As TreeNode = New TreeNode(dtTablenames.Rows(Counter).Item(2), myContacts)
myRootNode.Nodes.Add(myTableNode)
End If
Next
contacts.Nodes.Add(myRootNode)
contacts.ExpandAll()
End If