Search This Blog

Loading...

Form Master Buku Perpustakaan

Pada aplikasi perpustakaan ini form master buku dibagi menjadi dua jenis form.

  1. Form untuk menambah atau mengedit data buku
  2. Form untuk menampilkan daftar buku

Form untuk nenambah atau mengedit data buku perpustakaan

Gambar 1

Form data buku memiliki property Record Source yang diset ke tabel MASTER_BUKU. Data pada form ini terdiri dari 6 field data yaitu KODE_BUKU, JUDUL_BUKU, PENGARANG, PENERBIT, NOMOR_ISBN dan JUMLAH_BUKU yang berasal dari tabel MASTER_BUKU. Semua text box di-bound ke field pada tabel MASTER_BUKU.

Form untuk menampilkan daftar buku

Gambar 2

Form Daftar Buku Perpustakaan terdiri dari dua form yaitu form master(form induk) dan subform. Form master di sini digunakan untuk memberikan fasilitas pencarian data buku berdasarkan nama buku, sedangkan datanya sendiri yang diambil dari tabel MASTER_BUKU di set ke Record Source-nya form detail dengan tampilan continues form. Pada form detail atau subform disediakan tombol delete data dan edit data.

Mencari data buku
Pada form daftar buku perpustakaan kita dapat mencari buku berdasarkan nama buku. Untuk melakukan hal ini, isi text box Nama pada form master (tidak harus nama lengkap) lalu klik tombol CARI BUKU. Semua data nama buku perpustakaan yang mengandung nama yang diisikan pada text box Nama akan ditampilkan pada subform buku. Jika user ingin menampilkan semua data, maka kosongkan data pada text box Nama lalu klik tombol CARI BUKU.
Ketika user mengklik tombol Cari buku aplikasi men-set Record Source dari subform dengan string query berikut:
"SELECT * FROM MASTER_BUKU WHERE NAMA_BUKU LIKE '*" & Me.strCari & "*' ORDER BY NAMA_BUKU;" kemudian subform buku di-Requery.
Adapun script lengkap dari event OnClick pada tombol Cari buku adalah sebagai berikut:

Private Sub cmdCari_Click()
On Error Resume Next
Dim strSql As String
strSql = "SELECT * FROM MASTER_BUKU WHERE NAMA_BUKU LIKE '*" & _
Me.strCari & "*' ORDER BY NAMA_BUKU;"
Me.DAFTAR_BUKU_SUBFORM.Form.RecordSource = strSql
Me.DAFTAR_BUKU_SUBFORM.Requery
End Sub

Tombol tambah data
Jika user mengklik tombol tambah data, maka aplikasi akan menampilkan form buku perpustakaan seperti pada gambar 1 yang masih kosong. Even OnClick pada tombol Tambah Data menjalankan script program berikut:

Private Sub cmdAdd_Click()
On Error GoTo Err_cmdAdd_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "MASTER_BUKU"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_cmdAdd_Click:
Exit Sub

Err_cmdAdd_Click:
MsgBox Err.Description
Resume Exit_cmdAdd_Click

End Sub

User dapat mengisi data buku dan men-save data baru. Pada form data buku, user harus mengisi setidaknya KODE_BUKU dan NAMA_BUKU. Jika data KODE_BUKU tidak diisi, maka akan ditampilkan pesan 'Index or Primary Key cannot contail Null value' karena field KODE_BUKU adalah primary key. Sedangkan jika NAMA_BUKU tidak diisi maka akan muncul pesan 'The field 'MASTER_BUKU.NAMA_BUKU' cannot contain a Null value because the Required property for this field is set to True. Enter a value in this field' karena property required field NAMA_BUKU pada tabel MASTER_BUKU diset ke True.

Tombol delete data
Jika user mengklik tombol delete data, maka aplikasi akan mengkonfirmasi apakah data benar-benar akan dihapus. Jika user mengklik Yes maka data akan dihapus. Even onClick pada tombol delete data akan menjalankan script berikut:

Private Sub cmdDelete_Click()
On Error GoTo Err_cmdDelete_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_cmdDelete_Click:
Exit Sub

Err_cmdDelete_Click:
MsgBox Err.Description
Resume Exit_cmdDelete_Click

End Sub

Catatan : Jika data buku sudah pernah dipinjam dan tercatat dalam tabel PINJAM_DETAIL maka data tidak dapat dihapus. Jika user menghapus data buku tersebut maka akan ditampilkan pesan :

Gambar 3

Tombol edit data
Jika user mengklik tombol edit data, maka aplikasi akan menampilkan data buku perpustakaan seperti pada gambar 1. Berikut adalah script untuk membuka form buku Perpustakaan.

Private Sub cmdEdit_Click()
On Error GoTo Err_cmdEdit_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "MASTER_BUKU"

stLinkCriteria = "[KODE_BUKU]=" & "'" & Me![KODE_BUKU] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria, acFormEdit

Exit_cmdEdit_Click:
Exit Sub

Err_cmdEdit_Click:
MsgBox Err.Description
Resume Exit_cmdEdit_Click

End Sub

User dapat mengubah data buku dan men-save data hasil perubahan. Even onClick pada tombol Save dari form data buku Perpustakaan akan menjalankan script berikut:

Private Sub cmdSave_Click()
On Error GoTo Err_cmdSave_Click

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

Exit_cmdSave_Click:
Exit Sub

Err_cmdSave_Click:
MsgBox Err.Description
Resume Exit_cmdSave_Click

End Sub

Catatan : Jika buku sudah pernah dipinjam oleh anggota dan tercatat dalam tabel PINJAM_DETAIL maka data KODE_BUKU tidak dapat diedit. Jika user mengubah data KODE_BUKU maka akan ditampilkan pesan seperti pada gambar 3.

Post a Comment