Nah, script yang akan kita tuliskan adalah script untuk kontrol cmdTambah, cmdEdit, cmdBatal, cmdHapus, cmdSelesai dan Form_Load. Tapi sebelum itu, ada beberapa fungsi tambahan dulu yang akan kita buat.
Langsung saja, lakukan right-click (klik-kanan) pada bagian form manapun yang kosong (tidak terdapat kontrol), dan pilih “View Code” pada popup menu yang muncul. Atau Anda bisa juga menekan tombol Ctrl-F6 pada keyboard Anda.
Setelah itu, akan terbuka jendela Code Editor VB6. Di sinilah kita akan menuliskan script-script kita. Jika anda mengaktifkan opsi Require Variable Declaration pada Visual Basic 6.0 setting, maka di bagian paling atas akan ada 1 baris script bertuliskan “Option Explicit” .
Jika tidak, maka jendela code editor ini akan benar-benar kosong. Dan Anda sebaiknya menambahkan script tersebut pada bagian paling atas dari jendela code editor tersebut, seperti terlihat pada gambar.
Anda mungkin bisa menambahkan satu baris kosong, untuk mempercantik penulisan script-nya, agar terlihat rapi. Dan setelah itu, dua baris di bawah script Option Explicit, tuliskan script berikut ini:
Sub Kosong() On Error Resume Next txtKodeBarang.Text = "" txtNamaBarang.Text = "" meHarga.Text = "" txtKodeBarang.SetFocus End Sub
Itu adalah prosedur untuk membershkan / mengosongkan isian pada semua kotak isian yang ada, dan (kalau mungkin) menempatkan kursor pada kontrol txtKodeBarang. Sebenarnya hal ini bisa saja langsung dituliskan pada setiap kontrol yang membutuhkan. Tapi dengan menempatkan beberapa baris program pada satu atau beberapa prosedur, akan bisa mempercepat penulisan script, dan tentu saja, akan membuat tampilan dari kode program / script menjadi lebih rapi.
Ini adalah prosedur ke dua yang kita akan buat. Jadi, tuliskan script berikut ini, di bawah prosedur pertama tadi. Berikan satu baris kosong dulu agar penulisan menjadi lebih rapi.
Sub Kunci(bKunci As Boolean) txtKodeBarang.Enabled = Not bKunci txtNamaBarang.Enabled = Not bKunci meHarga.Enabled = Not bKunci End Sub
Script ke dua adalah script untuk mengunci beberapa kontrol, yaitu txtKodeBarang, txtNamaBarang dan meHarga, agar tidak dapat ditulisi. Kenapa harus dikunci? Karena kita akan membuat agar user harus mengklik dulu tombol cmdTambah, jika ingin menambahkan data, atau mengklik tombol cmdEdit, bila ingin mengedit data yang ada. Sedangkan bila ingin menghapus, tidak berpengaruh, apakah kotak isian dalam kondisi terkunci atau tidak, meskipun sebaiknya mereka berada dalam kondisi terkunci (disabled).
Script ke tiga adalah sebuah fungsi untuk memeriksa keberadaan Kode Barang yang dimasukkan oleh User. Jika sudah ada, maka fungsi ini akan mengembalikan nilai True, dan jika belum ada, akan mengembalikan nilai False. Script-nya adalah sebagai berikut:
Function CariKode(sKode As String) As Boolean datBarang.RecordSource = "SELECT * FROM Barang " & _ "WHERE Kode_Barang = '" & sKode & "'" datBarang.Refresh If datBarang.Recordset.RecordCount = 0 Then CariKode = False Else CariKode = True End If datBarang.RecordSource = "SELECT * FROM Barang" datBarang.Refresh End Function
Tampilan setelah kedua prosedur dan satu fungsi tersebut ditambahkan akan menjadi kira-kira seperti di bawah ini:
Sekarang, kembalikan dulu tampilan pada jendela form designer, dengan cara menekan Ctrl-F6, atau melakukan klik-kanan pada item frmBarang (frmBarang.frm) yang berada di dalam jendela Project Explorer.
Dan kita akan dikembalikan pada jendela Form Designer untuk form Data Master Barang.
Tak lama setelah itu akan terbuka jendela code editor, dengan kursor yang berada di dalam bagian dari prosedur “Private Sub cmdSelesai_Click()”.
Lagi-lagi untuk lebih merapikan penulisan, tekan tombol Tab pada keyboard Anda sekali, lalu tuliskan script berikut:
Unload Me
atau tampilan lengkapnya adalah sebagai berikut:
Kok cuma satu baris? Cuma Unload Me saja? Yup! Memang, karena fungsi tombol tersebut memang hanya untuk menutup form Data Master Barang ini, dan mengembalikan user pada form utama. Jadi, perintahnya ya memang itu saja.
Script untuk cmdSelesai sudah, sekarang beralih ke script untuk kontrol lainnya ya. Tekan lagi Ctrl-F6 pada keyboard Anda, untuk mengembalikan tampilan pada jendela Form Designer VB6.
Kontrol berikutnya yang akan kita tuliskan scriptnya adalah tombol cmdTambah. Jadi, silahkan double-click pada cmdTambah, untuk membawa kita pada jendela code editor, tepatnya pada prosedur Private Sub cmdTambah_Click().
Jendela code editor akan terbuka pada prosedur cmdTambah_Click().
Seperti biasa, tekan dulu tombol TAB pada keyboard Anda, agar penulisan script bisa agak masuk ke dalam dan terlihat rapi.
Setelah itu, ketikkan script berikut ini di antara bagian “Private Sub cmdTambah_Click()” dan “End Sub” :
If cmdTambah.Caption = "Tambah" Then Kunci False Kosong cmdEdit.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True cmdTambah.Caption = "Simpan" Else If CariKode(txtKodeBarang.Text) Then MsgBox "Kode Barang tersebut sudah ada.", _ vbCritical, "Maaf..." txtKodeBarang.SetFocus Exit Sub End If datBarang.Recordset.AddNew datBarang.Recordset.Fields("Kode_Barang") = txtKodeBarang.Text datBarang.Recordset.Fields("Nama_Barang") = txtNamaBarang.Text datBarang.Recordset.Fields("Harga") = meHarga.Text datBarang.Recordset.Update datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah disimpan.", vbInformation, "Terima kasih." cmdTambah.Caption = "Tambah" cmdEdit.Enabled = True cmdHapus.Enabled = True cmdBatal.Enabled = False Kosong Kunci True End If
Atau, tampilan lengkapnya adalah sebagai berikut:
Selanjutnya, Anda bisa kembali ke jendela Form Designer, dengan menekan tombol Ctrl-F6 pada keyboard Anda.
Script berikutnya adalah untuk tombol cmdEdit. Double-click cmdEdit, kemudian pada jendela code editor yang muncul, ketikkan script berikut di antara bagian “Private Sub cmdEdit_Click()” dan “End Sub” :
If cmdEdit.Caption = "Edit" Then Kunci False cmdTambah.Enabled = False cmdHapus.Enabled = False cmdBatal.Enabled = True 'kita tidak mengizinkan isi Kode Barang untuk diubah, 'jadi kotak isian ini harus di-disable terlebih dulu... txtKodeBarang.Enabled = False cmdEdit.Caption = "Update" txtNamaBarang.SetFocus Else datBarang.Recordset.Edit datBarang.Recordset.Fields("Nama_Barang") = txtNamaBarang.Text datBarang.Recordset.Fields("Harga") = meHarga.Text datBarang.Recordset.Update datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah di-update.", vbInformation, "Terima kasih." cmdEdit.Caption = "Edit" cmdTambah.Enabled = True cmdHapus.Enabled = True cmdBatal.Enabled = False Kosong Kunci True End If
Dan tampilan pada jendela Code Editor adalah seperti berikut ini:
Selanjutnya tentu saja, tekan Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
Kosong Kunci True
Atau tampilan lengkapnya adalah seperti berikut ini:
Setelah itu, tekan lagi tombol Ctrl-F6 untuk kembali ke jendela Form Designer.
If MsgBox("Yakin ingin menghapus data ini?" & Chr(13) & _ "Kode Barang: " & datBarang.Recordset.Fields("Kode_Barang") & Chr(13) & _ "Nama Barang: " & datBarang.Recordset.Fields("Nama_Barang") & Chr(13) & _ "Harga: " & Format(datBarang.Recordset.Fields("Harga"), "#,##0"), _ vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then datBarang.Recordset.Delete datBarang.Refresh dbgBarang.Refresh MsgBox "Data sudah dihapus...", vbInformation, "Informasi" End If
Dan tampilan lengkapnya adalah sebagai berikut:
Setelah itu, tekan lagi tombol Ctrl-F6 untuk kembali ke jendela Form Designer.
Kontrol selanjutnya yang akan diberikan script adalah DataBoundGrid dbgBarang. Jadi, double-click pada dbgBarang untuk membuka jendela Code Editor.
Setelah itu akan muncul sebuah prosedur baru, di mana kursor keyboard secara otomatis juga akan berada di dalamnya.
dbgBarang.Col = 0 txtKodeBarang.Text = dbgBarang.Text dbgBarang.Col = 1 txtNamaBarang.Text = dbgBarang.Text dbgBarang.Col = 2 meHarga.Text = dbgBarang.Text
Atau lengkapnya adalah sebagai berikut:
Sudah? Tekan lagi Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
Script terakhir adalah untuk event Form_Load. Script ini akan di-eksekusi atau dijalankan, saat form Data Master Barang ini di-load ke memory, atau ditampilkan. Jadi, silahkan double-click pada sembarang bagian form yang kosong (tidak berisi kontrol apapun), untuk membuka jendela Code Editor. Lalu pada bagian antara “Private Sub Form_Load()” dan “End Sub”, ketikkan script berikut.
On Error Resume Next datBarang.Refresh 'Jika database masih kosong, maka If datBarang.Recordset.RecordCount = 0 Then 'tombol Edit & Hapus harus di-disable cmdEdit.Enabled = False cmdHapus.Enabled = False Else 'jika tidak, bisa di-enable cmdEdit.Enabled = True cmdHapus.Enabled = True End If Kosong Kunci True
Atau tampilan lengkapnya adalah sebagai berikut:
Tekan lagi Ctrl-F6 untuk kembali ke jendela Form Designer VB6.
Jika sudah, Anda dapat mengklik pada menu Master, kemudian pilih submenu Barang, dan jendela Code Editor akan kembali terbuka.
Dan di antara bagian “Private Sub mnuBarang_Click()” dan “End Sub”, ketikkan script berikut ini:
frmBarang.Show vbModal
Atau tampilan lengkapnya adalah seperti berikut ini:
Jika sudah, Anda dapat menekan tombol Ctrl-F6 pada keyboard Anda untuk kembali ke jendela Form Designer.
Sekarang, klik menu Keluar, dan tak lama kemudian jendela Code Editor akan terbuka.
Pada bagian antara “Private Sub mnuKeluar_Click()” dan “End Sub’, ketikkan script berikut:
If MsgBox("Yakin ingin keluar dari aplikasi ini?", _ vbQuestion + vbYesNo, "Konfirmasi") = vbYes Then End End If
atau tampilan lengkapnya adalah seperti di bawah ini:
Selanjutnya Anda dapat men-test form Data Master Barang dengan cara menjalankan (running) aplikasi ini. Caranya dengan menekan tombol “F5” pada keyboard Anda. Lalu setelah aplikasi berjalan dan form Utama telah tampil, pilihlah menu Master, lalu pilih submenu Barang.
Isikan sampai beberapa data dalam tahap pengujian ini.
Kalau sudah selesai, Anda dapat menutup form Data Master Barang dengan cara mengklik tombol “Selesai”. Dan setelah selesai dan kembali ke Form Utama, Anda kembali dapat keluar dengan mengklik menu Keluar, lalu pilih “Yes” pada pertanyaan yang muncul.
Selanjutnya, kita akan membuat form Transaksi Penjualan. Dan nanti kalau seluruh bagian program sudah selesai dibuat, termasuk Desain Laporan-Laporan yang diperlukan, baru kita akan membuat beberapa modifikasi atau perubahan-perubahan. Sengaja saya buat terpisah, untuk lebih memperjelas, karena sebenarnya tanpa modifikasi itupun program sudah bisa berjalan dengan baik. Modifikasi yang ada dilakukan untuk lebih “memperkuat” aplikasi program ini.
No comments:
Post a Comment