Properti row source type sebuah combo box di form Access digunakan untuk menentukan sumber data dari control source. Ada tiga tipe dengan masing-masing tipe mempunyai tujuan dan kegunaannya.
Tiga tipe dari nilai Row Source Type yaitu:
Bila jumlah data yang ingin ditampilkan relatif banyak, maka penggunaan Table/Query akan sangat membantu. Dengan mengetikkan prefik tertentu dalam kotak combo, nilai yang dinginkan akan otomatis disorot oleh Access. Dari sini, kita bisa memilih nilai yang diinginkan dengan tepat, tanpa ada kesalahan ketik.
Satu keuntungan menggunakan Table/Query, kita tidak perlu menuliskan formula tertentu yang bagi programmer awam terasa menyulitkan. Yang diperlukan hanya membuat tabel atau query, kemudian mengatur field mana yang ingin ditampilkan. Pokoknya, semua terlihat sederhana.
Bila jumlah data yang ingin ditampilkan relatif sedikit, maka penggunaan Value List akan sangat membantu. Kita tidak perlu membuat tabel yang digunakan sebagai media sumber data seperti halnya Table/Query. Sebagai contoh, nilai bulan yang hanya terdiri dari 1 s/d 12 bisa dimasukkan sebagai Value List dengan penulisan seperti ini:
Row Source=1;2;3;4;5;6;7;8;9;10;11;12
Jadi kita tidak perlu membuat tabel bulan, hanya untuk ditampilkan di Combo Box. Demikian pula dengan jenis kelamin, misalnya Row Source=Pria;Wanita.
Untuk programmer database Access yang sudah mahir, penggunaan Value List layak dipertimbangkan. Kita dapat menuliskan nilai pada Row Source secara dinamis mengikuti keinginan. Sebagai contoh, kita bisa menuliskan kode VBA berikut ini saat form dalam keadaan terbuka (event On Open):
Field List digunakan saat kita ingin menuliskan pernyataan SQL yang menyertakan klausa WHERE atau HAVING yang diikuti dengan nama field. Nah, nama field inilah yang ditampilkan dengan menggunakan Row Source Type=Field List. Sumber Field List yang dipakai berasal dari Table atau Query yang ada di properti Row Source pada combo box.
Jadi misalnya, Row Source sebuah combo box berisi "SELECT KodeRek, NamaRek, Grup FROM tblRekUtama" maka dengan Row Source Type=Field List, saat dibuka secara Form View, isi data combo terdiri dari tiga nama field saja yaitu KodeRek, NamaRek, dan Grup saja. Nilai dari setiap field tidak dicantumkan.
Gambar 3 di atas, pada bagian tengah dari daftar combo box, kita bisa melihat ada nama-nama field yang diambil dari tabel voucher. Di situ ada nama field yang diawali dengan vouch. Gambar itu merupakan form view dari semacam laporan yang digunakan untuk menampilkan daftar voucher sesuai dengan kriteria yang diinginkan.
Tiga tipe dari nilai Row Source Type yaitu:
- Table/Query: berupa nama tabel atau query dari satu atau lebih tabel. Nilai dari combo box diperoleh dari field yang ada di tabel atau query. Cara ini paling sering dipakai.
- Value List: berisi nilai yang dimasukkan secara "manual".
- Field List: berisi nama field dari satu atau lebih tabel yang terlibat dalam pembuatan Row Source.
Table/Query
Secara default, properti Row Source Type bernilai Table/Query. Ini adalah cara paling mudah dan sering digunakan dalam berbagai macam aplikasi database di Access. Table/Query ini bisa berasal dari tabel lain, kombinasi dari berbagai macam tabel yang membentuk query, atau berasal dari tabel yang sama dengan properti Record Source yang terdapat di form (bila control sourcenya di-bound atu bukan unbound).Gambar 1. Penggunaan Row Source Type=Table/Query dari kode pembeli yang berisi kode dan nama pembeli |
Satu keuntungan menggunakan Table/Query, kita tidak perlu menuliskan formula tertentu yang bagi programmer awam terasa menyulitkan. Yang diperlukan hanya membuat tabel atau query, kemudian mengatur field mana yang ingin ditampilkan. Pokoknya, semua terlihat sederhana.
Value List
Pada Value List, kita harus menuliskan nilai yang ingin dicantumkan dalam daftar combo box. Penulisan nilai harus dilakukan dengan tepat, karena bila salah, maka tampilan nilainya juga akan berantakan - tidak sesuai dengan yang diinginkan. Dalam menuliskan nilai ini, kita harus memperhatikan penggunaan tanda petik dan pemisah antar nilai, apakah menggunakan ";" (titik koma), "," (koma), atau lainnya.Bila jumlah data yang ingin ditampilkan relatif sedikit, maka penggunaan Value List akan sangat membantu. Kita tidak perlu membuat tabel yang digunakan sebagai media sumber data seperti halnya Table/Query. Sebagai contoh, nilai bulan yang hanya terdiri dari 1 s/d 12 bisa dimasukkan sebagai Value List dengan penulisan seperti ini:
Row Source=1;2;3;4;5;6;7;8;9;10;11;12
Jadi kita tidak perlu membuat tabel bulan, hanya untuk ditampilkan di Combo Box. Demikian pula dengan jenis kelamin, misalnya Row Source=Pria;Wanita.
Gambar 2. Design View Penggunaan Value List Untuk Row Source Type. Untuk Form Viewnya, lihat gambar bawah. |
Untuk programmer database Access yang sudah mahir, penggunaan Value List layak dipertimbangkan. Kita dapat menuliskan nilai pada Row Source secara dinamis mengikuti keinginan. Sebagai contoh, kita bisa menuliskan kode VBA berikut ini saat form dalam keadaan terbuka (event On Open):
Private Sub Form_Open(Cancel As Integer) If pilihan = "YaTidak" Then Me.Combo1.RowSource = "Ya;Tidak" Else Me.Combo1.RowSource = "Benar;Salah" End If End SubJadi, saat ada sebuah parameter pengaturan meminta pilihan="YaTidak", maka row source dari Combo1 akan berisi "Ya;Tidak", bila tidak maka akan berisi "Benar;Salah".
Field List
Di antara ketiga pilihan di atas, Field List adalah nilai Row Source Type yang paling jarang dipakai. Cara ini hanya dipakai saat kita ingin melakukan proses penyaringan data dengan menggunakan query yang bisa diatur secara dinamis, mirip seperti kita melakukan filter data pada Excel.Gambar 3. Daftar pada Combo Box tengah disusun menggunakan Row Source Type=Field List. Di sebelah kiri adalah daftar yang disusun menggunakan Row Source Type=Value List |
Field List digunakan saat kita ingin menuliskan pernyataan SQL yang menyertakan klausa WHERE atau HAVING yang diikuti dengan nama field. Nah, nama field inilah yang ditampilkan dengan menggunakan Row Source Type=Field List. Sumber Field List yang dipakai berasal dari Table atau Query yang ada di properti Row Source pada combo box.
Jadi misalnya, Row Source sebuah combo box berisi "SELECT KodeRek, NamaRek, Grup FROM tblRekUtama" maka dengan Row Source Type=Field List, saat dibuka secara Form View, isi data combo terdiri dari tiga nama field saja yaitu KodeRek, NamaRek, dan Grup saja. Nilai dari setiap field tidak dicantumkan.
Gambar 3 di atas, pada bagian tengah dari daftar combo box, kita bisa melihat ada nama-nama field yang diambil dari tabel voucher. Di situ ada nama field yang diawali dengan vouch. Gambar itu merupakan form view dari semacam laporan yang digunakan untuk menampilkan daftar voucher sesuai dengan kriteria yang diinginkan.
Bagaimana cara mengatasi error 3159 pada tabel access dengan Pesan "not a valid bookmark" dan record dengan tanda #error tidak dapat di delete, terimakasih
ReplyDeleteCoba ibu membuat database accdb yang baru. Lalu, impor database (semuanya ya bu, dari tabel sampai ke modul), yang tabelnya error ke database yang baru.
DeleteAlternatif lain, buat tabel baru yang desig-nya sama persis dengan tabel yang error, lalu buat query append untuk menambahkan record dari tabel yang error ke tabel yang baru.
Saya membuat relasi tabel kenapa muncul unlock tabel, dan tidak menghubungkan tabel one to many mohon bimbingan
ReplyDeleteMaaf informasinya kurang jelas. Bisakah diceritakan lebih detail proses pembuatan relasi tabelnya?
Delete