• Tidak ada hasil yang ditemukan

Buka Project Baru simpan dengan PUSTAKA Buat Form Baru untuk pengisian Data Anggota dan simpan dengan nama frmanggota

N/A
N/A
Protected

Academic year: 2021

Membagikan "Buka Project Baru simpan dengan PUSTAKA Buat Form Baru untuk pengisian Data Anggota dan simpan dengan nama frmanggota"

Copied!
5
0
0

Teks penuh

(1)

v Buat folder baru bernama Pustaka

v Buat database baru dengan Microsoft Access dengan nama DbPerpustakaan.mdb dan simpan dalam folder baru tersebut

v Buat tabel baru dengan nama Anggota, dengan field-field sebagai berikut :

v Buka Project Baru simpan dengan PUSTAKA

v Buat Form Baru untuk pengisian Data Anggota dan simpan dengan nama frmAnggota

'Siapkan Variabel untuk Connection dan Recordset

Private conAgt As ADODB.Connection Private rsAgt As ADODB.Recordset Private strpath As String

'Prosedur/sub memindahkan(menyimpan) isi textbox kedalam tabel/recordset

Private Sub IsiData() rsAgt!NoAgt = txtNo.Text rsAgt!NamaAgt = txtNama.Text rsAgt!AlamatAgt = txtAlamat.Text rsAgt!TelpAgt = txtTelp.Text End Sub

'Prosedur/sub menampilkan isi tabel/recordset ke textbox

Private Sub Tampilkan() txtNo.Text = rsAgt!NoAgt txtNama.Text = rsAgt!NamaAgt txtAlamat.Text = rsAgt!AlamatAgt txtTelp.Text = rsAgt!TelpAgt End Sub

'Prosedur/sub untuk mengosongkan textbox

Private Sub Kosongkan() For Each Control In Me

If TypeOf Control Is TextBox Then Control.Text = ""

End If Next End Sub

(2)

'Prosedur/sub untuk me-nonaktifkan textbox

Private Sub TidakBisaIsi() For Each Control In Me

If TypeOf Control Is TextBox Then Control.Enabled = False

End If Next End Sub

'Prosedur/sub untuk mengaktifkan textbox

Private Sub BisaIsi() For Each Control In Me

If TypeOf Control Is TextBox Then Control.Enabled = True

End If Next End Sub

'Fungsi untuk menghitung dan menampilkan jumlah data

Private Sub Jumlah() xjml = rsAgt.RecordCount LblJml.Caption = xjml End Sub

Private Sub Auto()

Dim Urutan As String * 5 Dim Hitung As Byte

If AdoAnggota.Recordset.RecordCount = 0 Then Urutan = "A0001"

Else

AdoAnggota.Recordset.MoveLast

Hitung = Val(Right(AdoAnggota.Recordset!NoAgt, 4)) + 1 Urutan = "A" & Right("0000" & Hitung, 4)

End If

txtNo.Text = Urutan End Sub

Private Sub EdHapAktif() cmdedit.Enabled = True cmdhapus.Enabled = True End Sub

'Perintah saat form di load

Private Sub Form_Load()

'Siapkan sintak ADO dan SQL untuk koneksi ke database dan tabel

Dim CnStr, RsStr As String

'Isi variabel

CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ & App.Path & "\dbPerpustakaan.mdb;" & _

"Persist Security Info=False"

RsStr = "Select * from Anggota order by Noagt"

'Set/isi connection dengan nama database

Set conAgt = New ADODB.Connection With conAgt .ConnectionString = CnStr .CursorLocation = adUseClient .Open End With

'Set/isi recordset dengan nama tabel

Set rsAgt = New ADODB.Recordset

rsAgt.Open RsStr, conAgt, adOpenStatic, adLockOptimistic, adCmdText

'Set/isi komponen Adodc dengan nama database dan tabel

With AdoAnggota .ConnectionString = CnStr .CommandType = adCmdText .RecordSource = RsStr .Refresh End With

(3)

TidakBisaIsi 'Non aktifkan textbox End Sub

'Perintah saat pertama kali form tampil dilayar

Private Sub Form_Activate() cmdbaru.Enabled = True cmdsimpan.Enabled = False cmdedit.Enabled = False cmdhapus.Enabled = False cmdbatal.Enabled = False cmdkeluar.Enabled = True cmdbaru.Default = True

'Pembatasan pengisian masing-masing textbox

txtNo.MaxLength = 5 txtNama.MaxLength = 25 txtAlamat.MaxLength = 30 txtTelp.MaxLength = 15 Jumlah End Sub

'Perintah jika tombol Baru diklik

Private Sub cmdBaru_Click()

Kosongkan 'Hapus/kosongkan semua isi textbox BisaIsi 'Aktifkan textbox

Call Auto

txtNama.SetFocus 'Bawa kursor ke textbox No_Anggota cmdbaru.Enabled = False cmdsimpan.Enabled = True cmdedit.Enabled = False cmdhapus.Enabled = False cmdbatal.Enabled = True cmdkeluar.Enabled = False End Sub

'Perintah jika tombol Simpan diklik

Private Sub CmdSimpan_Click()

'Periksa pengisian No dan Nama, jika masih kosong tampilkan pesan

If txtNo.Text = "" Then

PESAN = MsgBox("Nomor Anggota harus di isi !", vbOKOnly, "Perhatian") txtNo.SetFocus

Exit Sub End If

If txtNama.Text = "" Then

PESAN = MsgBox("Nama Anggota harus di isi !", vbOKOnly, "Perhatian") txtNama.SetFocus

Exit Sub End If

'Cari apakah No_Anggota sudah ada

rsAgt.Find "NoAgt='" & txtNo.Text & "'", , adSearchForward, 1 If Not rsAgt.EOF Then 'Jika ketemu maka

rsAgt.UpdateBatch adAffectCurrent 'lakukan perbaikan/edit data Else

rsAgt.AddNew 'jika belum tambahkan 1 record kosong End If

IsiData

rsAgt.Update 'Simpan data/record rsAgt.Requery 'Atur/tampilkan ulang AdoAnggota.Refresh

Jumlah 'Periksa jumlah data TidakBisaIsi 'Non aktifkan textbox cmdbaru.Enabled = True cmdsimpan.Enabled = False cmdedit.Enabled = True cmdhapus.Enabled = True cmdbatal.Enabled = False cmdkeluar.Enabled = True End Sub

'Perintah jika tombol Edit diklik

Private Sub cmdEdit_Click()

(4)

txtNo.Enabled = False 'No_anggota tidak bisa di edit txtNama.SetFocus 'Kursor letakkan di textbox nama cmdbaru.Enabled = False cmdsimpan.Enabled = True cmdedit.Enabled = False cmdhapus.Enabled = False cmdbatal.Enabled = True cmdkeluar.Enabled = False End Sub

'Perintah jika tombol Hapus diklik

Private Sub CmdHapus_Click() On Error Resume Next

'Tampilkan pertanyaan konformasi

Hapus = MsgBox("No. Anggota " & txtNo.Text & " yakin akan dihapus ?", _ vbYesNo + 16, "Konfirmasi")

If Hapus = vbYes Then 'Jika dijawab Yes

rsAgt.Delete 'Hapus data/record tersebut rsAgt.Requery 'atur/tampilkan ulang recordset

AdoAnggota.Refresh 'atur/tampilkan ulang data pada Adodc/DataGrid End If

If Not rsAgt.EOF Then 'Setelah penghapusan bawa ke record pertama rsAgt.MoveFirst

Kosongkan 'Hapus/kosongkan semua textbox Else 'Jika data kosong tampilkan pesan

X = MsgBox("Data Master Anggota Kosong !", vbInformation, "Perhatian") Exit Sub

End If

TidakBisaIsi 'Non aktifkan textbox

Jumlah 'Tampilkan ulang jumlah data terbaru cmdbaru.Enabled = True cmdsimpan.Enabled = False cmdedit.Enabled = True cmdhapus.Enabled = True cmdbatal.Enabled = False cmdkeluar.Enabled = True End Sub

'Perintah jika tombol Batal diklik

Private Sub cmdBatal_Click() rsAgt.Cancel Kosongkan TidakBisaIsi cmdbaru.Enabled = True cmdsimpan.Enabled = False cmdedit.Enabled = False cmdhapus.Enabled = False cmdbatal.Enabled = False cmdkeluar.Enabled = True End Sub

'Perintah jika tombol Cetak diklik

Private Sub cmdcetak_Click()

rptAnggota.ShowPrinter 'Tampilkan Report untuk Anggota End Sub

'Perintah jika tombol Cari diklik

Private Sub CmdCari_Click()

'Tampilkan inputbox untuk menanyakan No_Anggota

Y = InputBox("Masukkan No_Anggota ?", "Cari", "")

'Cari No Anggota dari record awal ke akhir mulai record 1

rsAgt.Find "NoAgt='" & Y & "'", , adSearchForward, 1

If Y = "" Then Exit Sub 'Jika inputbox di kosongkan maka keluar

If Not rsAgt.EOF Then 'Jika pencarian tidak sampai EOF berarti ketemu Tampilkan 'Tampilkan data/record

EdHapAktif Else

MsgBox "No Anggota " & Y & " tidak ditemukan!", vbInformation, "Info" Kosongkan 'Hapus/kosongkan semua isi textbox

(5)

End Sub

'Perintah jika tombol >> di klik

Private Sub cmdAkhir_Click() If rsAgt.EOF And rsAgt.BOF Then Exit Sub

End If

rsAgt.MoveLast 'Bawa ke record terakhir Tampilkan 'Tampilkan data/record TidakBisaIsi 'Non aktifkan textbox EdHapAktif

End Sub

'Perintah jika tombol << di klik

Private Sub cmdAwal_Click() If rsAgt.EOF And rsAgt.BOF Then Exit Sub

End If

rsAgt.MoveFirst 'Bawa ke record pertama/awal Tampilkan 'Tampilkan data/record

TidakBisaIsi 'Non aktifkan textbox EdHapAktif

End Sub

'Perintah jika tombol > di klik

Private Sub cmdBerikut_Click() If rsAgt.EOF And rsAgt.BOF Then Exit Sub

End If

rsAgt.MoveNext 'pindah/bawa ke record berikutnya If rsAgt.EOF Then 'jika EOF maka

rsAgt.MoveLast 'bawa/tampilkan record terakhir End If

Tampilkan 'Tampilkan data/record EdHapAktif

End Sub

'Perintah jika tombol < di klik

Private Sub cmdSebelum_Click() If rsAgt.EOF And rsAgt.BOF Then Exit Sub

End If

rsAgt.MovePrevious 'pindah/bawa ke record sebelumnya If rsAgt.BOF Then 'jika BOF maka

rsAgt.MoveFirst 'bawa/tampilkan record pertama End If

Tampilkan 'Tampilkan data/record EdHapAktif

End Sub

'Perintah jika tombol keluar diklik

Private Sub cmdkeluar_Click()

conAgt.Close 'tutup connection Unload Me 'tutup form aktif End Sub

Referensi

Dokumen terkait