CARA MEMBUAT LIST COMBO BOX UPDATE OTOMATIS

Combo Box adalah salah satu control yang disediakan Access yang sangat disukai. Dengan Combo Box kita bisa menyediakan list data yang tinggal dipilih oleh user, misalnya data Kode Barang, Nomor Induk Karyawan, Kode Akun, dan sebagainya.

Sedikit problem, list data dalam Combo Box tidak bisa terupdate secara otomatis sebelum form yang memuatnya ditutup dan dibuka kembali. Misalnya seorang user sedang menginput data pada form Penjualan, ternyata barang yang mau diinput belum terdapat dalam pilihan Combo Box. Dia (atau seorang user yang lain) lalu menambahkannya pada Master Barang, namun Kode Barang yang baru ditambahkan tersebut tetap tidak tersedia pada Combo Box form Penjualan. User tersebut harus menutup dulu form Penjualan dan membukanya kembali agar data barang yang baru tersedia dalam Combo Box.

Merefresh Data Pada Combo Box Secara Otomatis

Sebenarnya, Access telah menyediakan sebuah shortcut key untuk me-refresh data dalam Combo Box, yaitu tombol F9 (ditekan pada Combo Box). Namun tombol ini mungkin sering dilupakan. Sebagai pembuat aplikasi, kita bisa menyediakan cara agar list dalam Combo Box terupdate secara otomatis.

 


 

Caranya adalah sebagai berikut:

  1. Buka form yang mengandung Combo Box tersebut dalam Design View.
  2. Klik control Combo Box untuk memilihnya, lalu tekan F4 untuk menampilkan Properties.
  3. Pada Properties, klik Event (misalnya) On Enter. Pilih “Event Procedure”, lalu klik tombol Builder […] di sebelah kanannya. Muncul jendela Visual Basic Editor.
  4. Masukkan code sehingga tampak seperti berikut ini (cboKodeBarang adalah nama Combo Box):
    Private Sub cboKodeBarang_Enter()
        Me.cboKodeBarang.Requery
    End Sub
  5. Tutup jendela Visual Basic Editor untuk kembali ke Form Design.
  6. Simpan form lalu jalankan untuk mencobanya.
  7. Dalam keadaan form penjualan masih tampil (Form View), cobalah menambahkan record barang baru pada table Barang, simpan record. Kembali ke form Penjualan lalu klik untuk membuka list dalam Combo Box Kode Barang, niscaya barang yang baru ditambahkan akan muncul dalam pilihan.

Pada prosedur di atas, kita menggunakan event On Enter untuk melakukan refresh otomatis, artinya cursor atau focus haruslah berada di luar Combo Box lalu ketika user mengklik untuk membuka Combo Box, event On Enter dijalankan.

Umumnya cara ini sudah cukup untuk melakukan refresh data pada Combo Box secara otomatis. Namun user haruslah “masuk” (Enter) ke dalam Combo Box (dari luar) agar event terjadi.

Jika anda tidak puas dengan cara ini, anda bisa menambahkan code yang sama, misalnya pada vent On DblClick. Dengan demikian, jika user ingin memunculkan data barang yang baru ditambahkan, dia bisa men-double-click Combo Box.

 


 .

Membuat Function fRefreshList()

Kebutuhan untuk melakukan refresh Combo Box secara otomatis ini cukup sering, yaitu sebanyak Combo Box yang mungkin mendapatkan data baru selama form yang memuatnya masih terbuka.

Agar kita tidak perlu membuat Event Procedure untuk setiap Combo Box, kita bisa membuat sebuah function yang berlaku umum (general) sehingga setiap Combo Box yang membutuhkannya bisa langsung menggunakan.

Caranya adalah sebagai berikut:

  1. Buka atau buat sebuah module umum (general module), lalu tambahkan function sebagai berikut:
    Function fRefreshList()
        Screen.ActiveControl.Requery
    End Function
  2. Simpan module.
  3. Buka form yang Combo Box-nya ingin menggunakan function tersebut.
  4. Klik Combo Box untuk memilihnya, tekan F4 untuk menampilkan Properties, lalu pada event On Enter masukkan =fRefreshList()

Tentu saja anda bisa memasang function fRefreshList() ini pada event On DblClick juga.

 


 

Selamat mencoba, semoga berhasil.


3 komentar:

yanka11 mengatakan...

Terima kasih untuk sharing ilmunya bang HT.
Siap d coba

Farif mengatakan...

Wah sangat bermanfaat sekali. Thanks 😁

masimam berbagi mengatakan...

Berarti kita bisa langsung update di database bang pake cara diatas? Keren bang