Search This Blog

Form Master Anggota Aplikasi Perpustakaan

Pada aplikasi perpustakaan ini form master anggota dibagi menjadi dua jenis form.
  1. Form untuk menambah atau mengedit data anggota
  2. Form untuk menampilkan daftar anggota
1. Form untuk nenambah atau mengedit data anggota perpustakaan


Gambar 1
Form data anggota memiliki property Record Source yang diset ke tabel MASTER_ANGGOTA. Data pada form ini terdiri dari 5 field data yaitu KODE_ANGGOTA, NAMA_ANGGOTA, ALAMAT, NOMOR_TELEPON dan PEKERJAAN yang berasal dari tabel MASTER_ANGGOTA. Semua text box di-bound ke field pada tabel MASTER_ANGGOTA.

2. Form untuk menampilkan daftar anggota perpustakaan


Gambar 2
Form Daftar Anggota Perpustakaan terdiri dari dua form yaitu form master(form induk) dan subform. Form master di sini digunakan untuk memberikan fasilitas pencarian data anggota berdasarkan nama anggota, sedangkan datanya sendiri yang diambil dari tabel MASTER_ANGOTA 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 anggota
Pada form daftar anggota perpustakaan kita dapat mencari anggota berdasarkan nama anggota. Untuk melakukan hal ini, isi text box Nama pada form master (tidak harus nama lengkap) lalu klik tombol CARI ANGGOTA. Semua data nama anggota perpustakaan yang mengandung nama yang diisikan pada text box Nama akan ditampilkan pada subform anggota. Jika user ingin menampilkan semua data, maka kosongkan data pada text box Nama lalu klik tombol CARI ANGGOTA.
Ketika user mengklik tombol Cari Anggota aplikasi men-set Record Source dari subform dengan string query berikut:
"SELECT * FROM MASTER_ANGGOTA WHERE NAMA_ANGGOTA LIKE '*" & Me.strCari & "*' ORDER BY NAMA_ANGGOTA;" kemudian subform anggota di-Requery.
Adapun script lengkap dari event OnClick pada tombol Cari Anggota adalah sebagai berikut:
Private Sub cmdCari_Click()
On Error Resume Next
Dim strSql As String
strSql = "SELECT * FROM MASTER_ANGGOTA WHERE NAMA_ANGGOTA LIKE '*" & _
Me.strCari & "*' ORDER BY NAMA_ANGGOTA;"
Me.DAFTAR_ANGGOTA_SUBFORM.Form.RecordSource = strSql
Me.DAFTAR_ANGGOTA_SUBFORM.Requery
End Sub
Tombol tambah data

Jika user mengklik tombol tambah data, maka aplikasi akan menampilkan form anggota 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_ANGGOTA"
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 anggota dan men-save data baru. Pada form data anggota, user harus mengisi setidaknya KODE_ANGGOTA dan NAMA_ANGGOTA. Jika data KODE_ANGGOTA tidak diisi, maka akan ditampilkan pesan 'Index or Primary Key cannot contail Null value' karena field KODE_ANGGOTA adalah primary key. Sedangkan jika NAMA_ANGGOTA tidak diisi maka akan muncul pesan 'The field 'MASTER_ANGGOTA.NAMA_ANGGOTA' 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_ANGGOTA pada tabel MASTER_ANGGOTA 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 anggota sudah pernah meminjam buku dan tercatat dalam tabel PINJAM maka data tidak dapat dihapus. Jika user menghapus data anggota tersebut maka akan ditampilkan pesan :

Gambar 3
Tombol edit data

Jika user mengklik tombol edit data, maka aplikasi akan menampilkan data anggota perpustakaan seperti pada gambar 1. Berikut adalah script untuk membuka form Anggota Perpustakaan.
Private Sub cmdEdit_Click()
On Error GoTo Err_cmdEdit_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "MASTER_ANGGOTA"

stLinkCriteria = "[KODE_ANGGOTA]=" & "'" & Me![KODE_ANGGOTA] & "'"
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 anggota dan men-save data hasil perubahan. Even onClick pada tombol Save dari form data Anggota 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 anggota sudah pernah meminjam buku dan tercatat dalam tabel PINJAM maka data KODE_ANGGOTA tidak dapat diedit. Jika user mengubah data KODE_ANGGOTA maka akan ditampilkan pesan seperti pada gambar 3.


3 comments:

Made Wijana said...

makasih pak infonya, tapi saya coba membuat pencarian dengan apa yang bapak sarankan namun saya coding di bilang error perintah erronya di tunjuk strCari (pada Me.strCari & "*' ORDER BY NAMA_ANGGOTA;").

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

Trims mohon solusinya?

tes said...

Untuk mengetahui masalahnya saya perlu tahu error message asli yang muncul dari Microsoft Access dalam bahasa inggris.

Muchammad faisal said...

Mau tanya kalo yag strcari itu error ,mohon solusinya

Method or data member not found