Kali ini saya buat tutorial bagaimana membuat CRUD yang simple dimana pada CRUD ini tidak mengunakan methode FIND.
Teknik pencarian data yang dilakukan pada CRUD kali ini adalah dengan memanfaatkan Listbox Index yang nantinya ini dijadikan alamat di Worksheet sebagai Index Baris.
Seperti yang sudah sering saya bahas langkah-langkah dalam setiap membuat aplikasi adalah seperti berikut ini :
Tahap pertama yang dilakukan dalam membuat aplikasi adalah membuat database yang nantinya datanya ini akan diinput melalui Userform
Setelah database telah dibuat, selanjutnya buat Userform sesuai isian yang ada pada database
coding module
Sub Urutkan() For i = 2 To HitungBaris Sheet1.Range("A" & i).Value = i - 1 Next End Sub Function HitungBaris() HitungBaris = Sheet1.Range("B" & Rows.Count).End(xlUp).Row End Function
Script pada Userorm
Private Sub Btn_Delete_Click() 'Delete Dim Pesan As VbMsgBoxResult 'Enumeration Integer If Txt_Nama.Text = vbNullString Then Exit Sub Pesan = MsgBox("Apakah Datanya mau di hapus?", vbYesNo + vbQuestion) If Pesan = vbNo Then Exit Sub Sheet1.Range("A" & Txt_No.Text + 1).EntireRow.Delete '<-- intiny ini saja Call HapusInputan Urutkan MsgBox "Data Sudah Berhasil dihapus!", vbInformation End Sub Private Sub Btn_Edit_Click() Dim JK As String Dim Baris As Long Baris = Txt_Nama.Tag + 2 '<---1 baris yg membedakan antra edit / simpan If OP_Laki.Value = True Then JK = "Laki-laki" Else JK = "Perempuan" End If Sheet1.Range("A" & Baris).Value = Txt_No.Text Sheet1.Range("B" & Baris).Value = Txt_Nama.Text Sheet1.Range("C" & Baris).Value = Txt_Alamat.Text Sheet1.Range("D" & Baris).Value = JK Sheet1.Range("E" & Baris).Value = CB_Jurusan.Text Call HapusInputan MsgBox "Data Sudah Berhasil diEdit!", vbInformation End Sub Private Sub Btn_Simpan_Click() Dim JK As String Dim Baris As Long If cekKosong Then Exit Sub Baris = HitungBaris + 1 'Create If OP_Laki.Value = True Then JK = "Laki-laki" Else JK = "Perempuan" End If Sheet1.Range("A" & Baris).Value = Txt_No.Text Sheet1.Range("B" & Baris).Value = Txt_Nama.Text Sheet1.Range("C" & Baris).Value = Txt_Alamat.Text Sheet1.Range("D" & Baris).Value = JK Sheet1.Range("E" & Baris).Value = CB_Jurusan.Text Call HapusInputan MsgBox "Data Sudah Berhasil disimpan!", vbInformation Call IsiLisbox End Sub Private Sub LB_Data_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Txt_No.Text = LB_Data.Column(0) Txt_Nama.Tag = LB_Data.ListIndex Txt_Nama.Text = LB_Data.Column(1) Txt_Alamat.Text = LB_Data.Column(2) If LB_Data.Column(3) = "Perempuan" Then OP_Perempuan.Value = True Else OP_Laki.Value = True End If CB_Jurusan.Text = LB_Data.Column(4) End Sub Private Sub UserForm_Initialize() CB_Jurusan.List = Array("Matematika", "B. Inggris", "B. Indonesia") Call IsiLisbox Call HapusInputan Txt_Nama.SetFocus End Sub Sub IsiLisbox() LB_Data.RowSource = "Database!A2:E" & HitungBaris End Sub Sub HapusInputan() Txt_No.Text = HitungBaris Txt_Nama.Text = vbNullString Txt_Alamat.Text = vbNullString OP_Laki.Value = False OP_Perempuan.Value = False CB_Jurusan.Text = vbNullString End Sub Function cekKosong() As Boolean If Txt_Nama.Text = vbNullString Then Txt_Nama.SetFocus MsgBox "Nama tidak boleh Kosong" cekKosong = True ElseIf Txt_Alamat = vbNullString Then Txt_Alamat.SetFocus MsgBox "Alamat tidak boleh Kosong" cekKosong = True ElseIf OP_Laki.Value = False And OP_Perempuan.Value = False Then MsgBox "Jenis Kelamin tidak boleh Kosong" cekKosong = True ElseIf CB_Jurusan.Text = vbNullString Then CB_Jurusan.SetFocus MsgBox "Jurusan tidak boleh Kosong" cekKosong = True Else cekKosong = False End If End Function
Untuk penjelasan lebih detail, silahkan simak video tutorialnya
File Download :