Wa'alaikumussalam Wr. Wb. Hai Miss,
imho, 1. Kapan harus menggunakan .Value atau .Text di combo box dan list box ? >> ketika combo atau list berisi lebih dari 1 kolom dan ingin membuat tampilan menampilkan nilai dari kolom yang berbeda dengan yang disimpan oleh si combo atau list. 2. Apa perbedaan antara .Value dengan .Text di combo box / list box? karena keduanya akan menampilkan hasil yang sama di latar monitor >> pada keadaan seperti jawaban nomor 1 yang diterapkan pada listbox, properti text tidak akan tampak kegunaannya secara langsung kecuali ketika akan mengambil nilai tertentu. Jadi akan tampak sama di layar monitor. Pada combobox, akan tampak perbedaannya di layar monitor. >> simplenya, properti text bisa diatur isinya dengan mengatur isi properti textxolumn, sedangkan properti value bisa diatur dengan mengatur isi properti boundcolumn. >> misal, combobox diisi 3 kolom yang berupa IDCustomer, Nama, Alamat. Saat user memilih sebuah item, combobox ingin menampilkan si nama, tapi inginnya ketika dibaca, si combobox harus memberikan nilai IDCustomer-nya. Boundcolumn di-set 1 dan textcolumn di-set 2. Script yang menggunakan properti Value akan memberikan nilai yang ada di kolom ke-1 dan script yang menggunakan properti Text dan yang ditampilkan dalam combobox akan mengambil nilai dari kolom ke-2. >> jadi properti text dengan properti Value adalah 2 hal yang berbeda. Pada saat properti boundcolumn di-set 1 dan textcolumn di-set 1 atau -1 (default -1 akan membuat textcolumn sama dengan boundcolumn) maka properti text dan value akan seakan-akan sama, padahal tetaplah 2 hal yang berbeda. 3. Apa hubungan antara .Value atau .Text dengan set fokus suatu objek? >> tidak ada hubungan yang erat di antara mereka kecuali ketika pada combobox yang memiliki properti matchrequired di-set bernilai TRUE, maka kadang kala mereka akan membuat ulah ketika digunakan tanpa memahami kondisi nyata saat si combobox aktif. >> properti text dan value berkaitan dengan nilai data yang disimpan (value) dan yang ditampilkan [penampakan] (text), sedangkan setfocus berkaitan dengan memaksa user untuk fokus pada control tersebut. *** menyinggung kasus sdr/i Riska setelah sempat membuka ulang filenya siang tadi, 1. Combobox bernama AT1 diatur properti matchrequired-nya dengan TRUE >> artinya, user harus memilih item yang ada dalam list. kalau tidak, maka pesan error invalid property value akan muncul. Silakan dicoba, saat userform aktif, tulis pada combobox itu (ketik langsung tanpa memilih item) teks berbunyi Kid lalu klik combobox lainnya. 2. pemilik kasus mengubah isi combobox bernama AT1 dengan nullstring. Akan diubah melalui properti value atau text adalah sama saja karena boundcolumn di-set 1 dan textcolumn di-set -1, lagipula, isi combobox list-nya memang hanya berisi 1 kolom data saja. >> pada kondisi properti matchrequired di-set TRUE, maka isian ini akan memicu munculnya pesan error tersebut ketika si combobox diaktifkan (mendapat posisi fokus, seperti di klik user untuk masuk ke combo tersebut lalu keluar, dan sebagainya). 3. pemilik kasus melakukan set focus pada combobox yang di-set matchrequired TRUE >> setelah diubah nilainya menjadi Nullstring yang tidak ada dalam pilihan combobox list, maka setting matchrequired TRUE adalah berpotensi membawa masalah munculnya error invallid property value. >> potensi ini akan ternetralisir ketika si combobox tidak di-set focus sembarangan, alias biarkan user saja yang melakukan set focus dengan meng-klik si combobox. 4. pemilik kasus melakukan setfocus pada combobox yang berpotensi bermasalah akibat set matchrequired TRUE. >> jadi baris set focus yang ada sebenarnya adalah kegiatan yang dilakukan dengan sengaja untuk mencari masalah 5. pemilik kasus menyembunyikan userform yang menjadi tempat tinggal si combobox dengan userform hide-nya. >> kenapa di-set focus kalau mau di-sembunyikan ? Jadi, a. pengaturan properti matchrequired bisa jadi sangat dibutuhkan oleh pembuatnya. Itu sebabnya dicoba untuk tidak diubah nilai propertinya. b. Berhubung properti matchrequired bisa membawa masalah, maka yang dihilangkan adalah kegiatan yang memunculkan masalah laten tersebut ke permukaan, yaitu menghilangkan set focus. c. disarankan agar seluruh combobox yang di-set matchrequired tidak di-set focus atau tidak mendapat focus secara auto oleh si user ataupun si userform. Caranya : >> jangan lakukan set focus pada combobox tersebut >> atur agar properti tabindex selalu memiliki nilai yang lebih dari nilai tabindex control lain yang aman diberi set focus hal lainnya : 1. proses menampilkan userform (show) yang tidak mengatur parameter Modal menjadi FALSE akan membuat script berhenti pada baris show tersebut, walaupun ada penggunaan DoEvents sekalipun saat sampai di baris tersebut atau didalam userform yang di-show. 2. penggunaan properti row source pada combobox ataupun listbox yang merujuk ke suatu range tertentu, akan memicu event change milik combobox atau listbox tersebut ketika ada pengubahan nilai data pada range yang dirujuk oleh si properti row source. Moga-moga gak bikin bingung ya... Wassalamu'alaikum Wr. Wb., Kid. 2014-02-04 Jan Raisin <[email protected]>: > > > السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ > > Baru-baru ini mbak Riska menanyakan tentang invalid property value yang > muncul, > mr Kid menyinggung bahwa hal ini terkait dengan set fokus pada suatu objek > pak Anton menyarankan untuk mengganti .Value menjadi .Text > berdasarkan pengamatan Jan error yang terjadi seperti ini umumnya > berhubungan dengan combo box dan list box. > > Pertannyaan untuk diskusi: > 1. Kapan harus menggunakan .Value atau .Text di combo box dan list box ? > 2. Apa perbedaan antara .Value dengan .Text di combo box / list box? > karena keduanya akan menampilkan hasil yang sama di latar monitor > 3. Apa hubungan antara .Value atau .Text dengan set fokus suatu objek? > > Silakan berbagi ilmunya di sini ^_^ > > وَسَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ > -Miss Jan Raisin- > > >

