MEMBUAT COMBOBOX DINAMIS PADA VB.NET

 

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 EventArgsHandles 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:

DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1.     Private Sub ComboBox1_GotFocus(sender As Object, e As EventArgs) Handles ComboBox1.GotFocus    
  2.  
  3.         ComboBox1.DroppedDown = True
  4.  
  5.     End Sub

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:

DATA HOSTED WITH ♥ BY PASTEBIN.COM - DOWNLOAD RAW - SEE ORIGINAL
  1. Imports System.Data.OleDb
  2. Public Class Form1
  3.     Dim Conn As OleDbConnection
  4.     Dim cmd As OleDbCommand
  5.     Dim da As OleDbDataAdapter
  6.     Dim ds As New DataSet
  7.     Dim dr As OleDbDataReader
  8.     Dim LokasiDB As String
  9.     Sub Koneksi()
  10.         LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbjnm.accdb"
  11.         Conn = New OleDbConnection(LokasiDB)
  12.         If Conn.State = ConnectionState.Closed Then Conn.Open()
  13.     End Sub
  14.     Sub isiCombo()
  15.         cmd = New OleDbCommand("Select namaBarang from Barang", Conn)
  16.         dr = cmd.ExecuteReader
  17.         Do While dr.Read
  18.             ComboBox1.Items.Add(dr.Item(0))
  19.         Loop
  20.     End Sub
  21.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  22.         ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown
  23.         ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
  24.         ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
  25.         Koneksi()
  26.         da = New OleDbDataAdapter("Select * from barang", Conn)
  27.         ds = New DataSet
  28.         ds.Clear()
  29.         da.Fill(ds, "Barang")
  30.         DataGridView1.DataSource = (ds.Tables("Barang"))
  31.         isiCombo()
  32.     End Sub
  33.  
  34.     Private Sub ComboBox1_GotFocus(sender As Object, e As EventArgs) Handles ComboBox1.GotFocus    
  35.         ComboBox1.DroppedDown = True
  36.     End Sub
  37. End Class




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

Comments

Popular posts from this blog

Download Berbagai Font Notasi Angka Terbaik dan Cara Penulisan di MS Word

Font Notasi Angka Untuk membuat Partitur Lagu Not Angka

16+ Font dan Kode untuk Membuat Simbol Musik di Word