Sunday, August 5, 2018

Membuat Combobox Dinamis Pada VB.Net


Pada kesempatan kali ini ane share cara bikin combobox dinamis yang terkoneksi pada database di aplikasi VB.Net, untuk database yang digunakan pada kesempatan ini yaitu database MS. Access yang ekstensinya (.accdb). Combobox terkoneksi dengan database selain dinamis mengikuti update yang dilakukan di database agan, juga bisa berfungsi seperti search box sehingga bisa digunakan untuk mencari nama dari kategori yang dimaksudkan lewat input huruf yang dimasukan dalam combobox. Baiklah untuk langkah-langkah pembuatannya adalah sebagaimana berikut:
  • Buatlah sebuah database di Ms. Access seperti gambar dibawah ini
combobox-dinamis-di-vb-1
Desain database

Disini ane menggunakan nama database (dbjnm.accdb) sebagai contoh dan untuk cara bikin database di Access cukup mudah dan tutorialnya banyak bisa digoogling di mbah google. 
  • Setelah itu kita pindah ke Visual Studio, buat suatu project baru, dan masukan sebuah ComboBox dan DataGridView kedalam form agan seperti gambar dibawah, disini ane buat project bernama akses.

combobox-dinamis-di-vb-2
Perancangan form

  • Kemudian click form1 tersebut dan tekan f7 atau click kanan dan pilih view code Kemudian masukan copas listing code berikut:
Imports System.Data.OleDb
Public Class Form1
    Dim Conn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim da As OleDbDataAdapter
    Dim ds As New DataSet
    Dim dr As OleDbDataReader
    Dim LokasiDB As String
    Sub Koneksi()
        LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbjnm.accdb"
        Conn = New OleDbConnection(LokasiDB)
        If Conn.State = ConnectionState.Closed Then Conn.Open()
    End Sub
    Sub isiCombo()
        cmd = New OleDbCommand("Select namaBarang from Barang", Conn)
        dr = cmd.ExecuteReader
        Do While dr.Read
            ComboBox1.Items.Add(dr.Item(0))
        Loop
    End Sub
End Class

  • Untuk syntax parameter  “Data Source=dbjnm.accdb” yang ada diatas sesuaikan dengan nama database yang agan gunakan, disini ane menggunakan “dbjnm.accdb”
  • Kembali ke Form1 design, click 2x pada Form1 kemudian copas kode dibawah ini:
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown
        ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
        Koneksi()
        da = New OleDbDataAdapter("Select * from barang", Conn)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "Barang")
        DataGridView1.DataSource = (ds.Tables("Barang"))
        isiCombo()
    End Sub
  • Diatas bisa dilihat pada listing code, ane mengambil tabel barang dari database dbjnm kemudian menampilkannya di Data gridview, dan diakhiri dengan memanggil fungsi isiCombo() yang berfungsi menampilkan field namaBarang pada database dbjnm ke dalam ComboBox. 
  • Terakhir click 2x pada ComboBox1 di design Form1 kemudian ganti actionnya menjadi GotFocus dan copas code berikut:


Save kemudian jangan lupa masukan file databasenya di folder (./bin/debug) pada project agan, dan bila agan menggunakan windows 64 bit (x64) maka check Target CPU nya pada project properties terlebih dahulu, apakah sudah x86 atau belum seperti gambar berikut, karena bila tidak program tidak akan mau terkoneksi.


combobox-dinamis-di-vb-3
Mengatur target jenis sistem untuk kompilasi

Dan kemudian bila di run maka akan berjalan seperti gambar berikut:


combobox-dinamis-di-vb-4
Combobox yang terkoneksi dengan database (dinamis)

Listing sourcecode keseluruhan:





Demikian postingan ane pada kali ini tentang cara membuat ComboBox dinamis pada aplikasi VB.Net, semoga bermanfaat!!



0 comments:

Post a Comment