INPUT MASK

INPUT MASK adalah properti field yang digunakan untuk memastikan user menginput data sesuai aturan (rule) yang kita inginkan.

Input Mask tidak sama dengan properti Format, karena properti Format hanya mengontrol tanmpilan data. Jika kita sudah menggunakan Input Mask, maka format tampilan pun akan mengikuti format pada Input Mask, sehingga tidak perlu mengatur properti Format lagi (kecuali memang menginginkan tampilan data yang berbeda dari format pada Input Mask).


 

Input Mask terdiri dari 3 (tiga) bagian, yaitu: <format>;[indikator];[template]
(pada syntax di atas, tanda titik koma (;) adalah list separator. List separator ini mungkin juga berupa tanda koma (,) tergantung setting pada Regional / Format di Windows) ,

  1. <format> (bentuk) Input Mask itu sendiri, contoh: !(999) 999-999
    Format di atas berarti data yang diinput akan dimulai dari kiri (menggunakan tanda !)
    Tanda kurung () adalah untuk format tampilan, tidak diisi data.
    Tanda 9 digunakan untuk menerima isian data, yang hanya bisa diisi dengan angka, namun tidak harus diisi (boleh kosong atau spasi).
    Spasi setelah tanda kurung dan tanda minus (-) adalah format tampilan.

  2. [indikator] bersifat opsional, yaitu apakah character yang digunakan sebagai format tampilan akan ikut disimpan di database atau tidak. Jika mau disimpan, isi dengan angka 0, dan jika tidak ikut disimpan isi dengan angka 1 atau biarkan kosong.

  3. [template] bersifat opsional, yaitu character yang digunakan sebagai simbul tempat mengisi data. Jika dibiarkan kosong (tidak ditentukan), maka tanda yang digunakan adalah underscore (_). Anda bisa menentukan dengan character lain jika mau, atau jika ingin menggunakan spasi sebagai template anda harus mengapitnya dengan tanda kutip (contoh: " ").

 Berikut ini daftar character yang digunakan dalam Input Mask:

0 User HARUS memasukkan angka (0-9), tidak boleh kosong atau ada spasi.
9 User BISA memasukkan angka (0-9), namun boleh kosong atau spasi.
# User bisa memasukkan angka, bisa memasukkan spasi, atau tanda + atau -.
L User HARUS memasukkan huruf.
? User BISA memasukkan huruf (bisa juga spasi atau kosong).
A User HARUS memasukkan huruf atau angka.
a User BISA memasukkan huruf atau angka (bisa juga spasi atau kosong).
& User HARUS memasukkan huruf atau spasi.
C User BISA memasukkan huruf atau spasi.
.,:;-/ Digunakan untuk tanda pemisah ribuan atau desimal, atau pemisah tanggal (sesuai Format pada Regional Setting Windows).
> Digunakan untuk mengubah huruf di belakangnya menjadi KAPITAL.
< Digunakan untuk mengubah huruf di belakangnya menjadi huruf kecil.
! Digunakan agar input dimulai dari kiri ke kanan.
\ Digunakan untuk memastikan character (huruf/angka/tanda) yang mengikutinya sebagai literal (bukan placeholder).
"" (tanda kutip) digunakan untuk memastikan character yang dikandungnya sebagai literal.


Semoga bermanfaat.
(Jangan lupa comment ya jika merasa bermanfaat atau ada pertanyaan/masukan).


MEMASTIKAN NUMBER TIDAK ERROR PADA SQL COMMAND

Pada Access, jika urusan tarik dan simpan data ditangani oleh Access sendiri ("Access way") maka no problem. Problemnya akan muncul jika urusan simpan data itu kita handle sendiri, misalnya dengan perintah SQL.

Salah satu problem adalah ketika kita menyimpan (insert) angka ke dalam field, padahal angka ada juga yang mengandung nilai desimal, atau tidak mengandung nilai angka alias bernilai Null.

Angka yang mengandung desimal bisa jadi problem karena angka tersebut akan dikonversi menjadi string, termasuk tanda desimalnya. Pada Regional Setting Windows yang menggunakan Format Indonesian, tanda desimal adalah koma (,). Tanda koma ini sama dengan tanda pemisah list pada perintah SQL. Tentu saja string perintah SQL-nya akan menjadi salah!

Berikut ini adalah sebuah function untuk memastikan string dari angka selalu kompatibel dengan perintah SQL, yaitu mengubah tanda koma (tanda desimal) menjadi tanda titik. Function ini pun sekaligus memberikan teks Null pada nilai Null sehingga tidak menjadi kosong.

Public Function NC(ByVal pNumber)
    If IsNull(pNumber) Then
        NC = "Null"
    ElseIf InStr(pNumber, ",") Then
        NC = Replace(pNumber, ",", ".")
    Else
        NC = pNumber
    End If
End Function

Simpan function di atas pada sebuah modul umum (General Module atau Standard Module).

Cara pakainya seperti ini:

tSql = "UPDATE tbl_Penjualan_dtl SET Diskon_1=" & NC(tDiskon2) & " WHERE (" & whr & ")"
DoCmd.RunSql tSql

Pada perintah SQL di atas, variabel tDiskon2 mungkin saja mengandung nilai desimal atau tidak mengandung nilai angka alias bernilai Null. Dengan function NC kita tidak perlu ragu lagi dengan format nilai pada variabel tersebut.

Demikian cara sederhana ini, semoga bermanfaat.

(Jangan lupa beri komen ya biar posting ini lebih populer di mesin pencari, thanks).


BUKU: "Membuat Sendiri Aplikasi Database dengan Access" (DB Pelanggan)

Alhamdulillah, akhirnya sebuah buku baru tentang Access bisa diterbitkan. Buku ini berjudul "MEMBUAT SENDIRI APLIKASI DATABASE dengan ACCESS", dipublikasikan via Google Play Books, berupa Ebook sehingga bisa menekan harga dan bisa dibawa-bawa dalam genggaman (HP).

Buku ini membahas tata cara (tutorial) pembuatan program aplikasi dengan Access, mulai dari awal hingga selesai. Ditujukan untuk Pemula agar bisa belajar Access dan langsung kelihatan hasilnya, tinggal mengikuti saja step-step yang disediakan (dan dilengkapi gambar pula).

Namun demikian, buku ini pun cukup worth bagi mereka yang sudah mahir menggunakan Access, karena terdapat banyak tip dan trik dalam pembuatan program aplikasi yang bisa dimanfaatkan.

Nah, bagi teman-teman yang ingin mencoba belajar menggunakan Access, silahkan mulai dengan buku ini. Buku bisa dibaca di HP dengan interface dan fitur bagus dari Google Play Books (enak bacanya, bisa tandai halaman, dan lain-lain), dan langsung praktek di komputer.

Oh ya, klik saja link untuk membuka bukunya, bisa Preview dan baca-baca terlebih dahulu.

http://books.google.com/books/about?id=zzU0EAAAQBAJ

Semoga bermanfaat!


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.


WAG Access Community & Online Meeting

Saat ini Komunitas Access Indonesia yang tergabung dalam WhatsApp Group (WAG) Access Community sudah mencapai 123 orang. Selain posting pertanyaan dan jawaban seputar Access, ada juga posting OOT. Maklum, WAG ini berisi komunitas. Namun ada satu rule yang selalu dipertahankan oleh Admin, yaitu jangan sampai posting OOT ini terlalu banyak, apalagi yang berbentuk ‘sharing viral’ yang biasanya memenuhi WAG-WAG komunitas. No way, anggota yang posting bisa langsung dikeluarkan oleh Admin. Hal ini dilakukan agar WAG Access Comm cukup ‘steril’ dari pro-kontra dan anggota tidak menjadi bosan hingga meninggalkan group (left).

Bagi teman yang belum bergabung, silahkan bergabung dengan klik tautan ini https://bit.ly/wag-access2 (klik di HP dan buka dengan aplikasi WhatsApp).

Pada kesempatan ini saya ingin membagi saran agar anggota group tidak bosan dan mengambil manfaat dari group ini:

  1. Ingatlah, group ini berisi komunitas Access, yaitu teman-teman sendiri yang diikat oleh minat yang sama terhadap Microsoft Access. Teman-teman ini tempat kita meminta saran atau bantuan ketika kita menghadapi kesulitan, bahkan dari pertemanan ini meningkat menjadi persaudaraan yang akrab sehingga bertemu secara langsung (kopi darat/kopdar), berhubungan secara pribadi (jalur pribadi/japri), dan saling memberi hadiah.
  2. Usahakan mengikuti diskusi dalam group (sempatkan untuk membaca) sehingga kita mengetahui apa topik yang sedang dibahas. Jika sedang tidak sempat, baca diskusi yang terakhir saja sebelum menghapus isi chat.
  3. Sesekali ikut berkomentar, mengajukan pertanyaan, atau memberikan pendapat atau jawaban atas pertanyaan.
  4. WAG ini tergolong group komunitas teknis, jadi pertanyaan atau postingan sebaiknya yang terkait dengan Access secara teknis. Bertanyalah apa saja yang terkait dengan Access atau komunitas, tidak perlu malu karena “nubie” atau kurang mengerti Access, justru di group inilah teman akan mendapatkan bantuan dalam belajar. Pertanyaan pun tidak harus yang belum pernah ditanyakan (karena kita tidak tahu apakah pertanyaan itu sudah pernah ditanyakan atau belum).
  5. Jika memberikan saran atau jawaban, tidak perlu menggurui, karena anggota yang baca mungkin saja lebih tahu dari kita, hanya tidak mau pamer saja.
  6. Kalau diskusi sudah OOT, jangan terlalu banyak, karena akan membosankan, dan anggota yang ‘silent’ bisa tiba-tiba keluar karena diskusi yang ada bukan yang ia harapkan dari bergabung dalam group ini.
  7. Selalu menjaga sikap saling menghargai, kalau bercanda jangan kelewatan, apalagi menggunakan sticker-sticker yang ‘kurang adab’.
  8. Group ini sering mengadakan online meeting, baik untuk membahas sebuah topik maupun belajar online (kita sebut kelon alias kelas online). Sesekali ikutlah bergabung agar bisa saling mengenal dan mengikuti pembahasan yang diberikan. Aplikasi yang kita gunakan adalah LARK (menjadi pilihan bersama setelah mencoba aplikasi-aplikasi online meeting lainnya).

Salah satu sesi online meeting komunitas Access
 

Mungkin itu saja yang sempat saya ingat sekarang, silahkan teman-teman menambahkan atau mengoreksi jika apa yang saya sampaikan ada yang salah atau kurang tepat.

Salam Access!