Monday, May 27, 2013

MS Access Table into Combo using Vb.net


Imports System
Imports System.Data
Imports System.Data.Odbc
Imports System.Data.OleDb
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim SchemaTable As DataTable
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = "MS Access 2010(*.accdb)|*.accdb"
        OpenFileDialog1.FilterIndex = "1"
        OpenFileDialog1.ShowDialog()
        txtLocat.Text = OpenFileDialog1.FileName
        Dim sFileName As String = txtLocat.Text
        Dim OleCon As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & OpenFileDialog1.FileName & "")
        Try
            OleCon.Open()
            SchemaTable = OleCon.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, Nothing})
            Dim int As Integer
            For int = 0 To SchemaTable.Rows.Count - 1
                If SchemaTable.Rows(int)!TABLE_TYPE.ToString = "TABLE" Then
                    'Add items to list box
                    cboTable.Items.Add(SchemaTable.Rows(int)!TABLE_NAME.ToString())
                End If
            Next
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString(), "Data Load Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End Try
        OleCon.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim OleCon As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & txtLocat.Text & "")
        OleCon.Open()
        Dim Ds As New DataSet
        Dim Dt As New DataTable
        Ds.Tables.Add(Dt)
        Dim Da As New OleDbDataAdapter
        Da = New OleDbDataAdapter("Select * from " & cboTable.SelectedItem & "", OleCon)
        Da.Fill(Dt)
        DataGridView1.DataSource = Dt.DefaultView
        OleCon.Close()
    End Sub
End Class

No comments:

Post a Comment