Yo... berjumpa lagi, masih dengan tutorial membuat Aplikasi Inventaris, kita sudah sampai pada Part 4 : Membuat CRUD Untuk Form Ruang yang nanti digunakan apabila kita ingin menambahkan ruangan baru misalnya, mengedit nama ruangan dan menghapus ruangan yang sudah tidak dipakai.
Lalu masukan beberapa kodingan dibawah ini ke dalam Class clsRuang
Menampilkan data pada dataGridView
Membuat kode otomatis untuk mengisi TextBox kode ruangan
Tambah data baru
Mengubah data
Menghapus data
Cari data berdasarkan nama ruangan
Masukan kodingan
Sebelum meletakan kodingan selanjutnya, kita letakan dulu kodingannya dalam dataGridView pada form Ruang, ubah eventnya menjadi cellClick() lalu masukan kodingan berikut supaya ketika cell dataGrid diklik akan langsung tampil pada textbox
Letakan di button Tambah Data
Pada button Simpan
Kodingan
Letakan dalam button Ubah
Kodingan untuk button Hapus
Nah... Itu saja untuk tutorial kali ini, pada tutorial selanjutnya kita lanjut membuat Form Jenis, untuk desainnya sama saja seperti form ruang, kita tinggal ubah sedikit kodingannya.
Dan apabila ada kritik, saran ataupun pertanyaan jangan sungkan tinggal ketik saja dikolom komentar, sekian dan terimakasih.
Okeh... Langsung saja kita mulai, pada tutorial sebelumnya kita sudah membuat beberapa desain user control, dan dilanjut dengan membuat class baru untuk CRUD form ruang yang sudah kita buat..
Class Ruang
Buat class baru dengan nama clsRuang
- Masukan kodingan berikut dibagian paling atas, sebelum Class clsRuang
Import System.Data.SqlClient
Dim db As New Database
Dim cmd As SqlCommand
Dim dt As DataTable
Dim da As SqlDataAdapter
Dim query As String
Public Sub tampil()
db.koneksi()
query = "SELECT * FROM ruang"
da = New SqlDataAdapter(query, db.konek)
dt = New DataTable
da.Fill(dt)
Form1.UcInventaris1.dgvRuang.DataSource = dt
Form1.UcInventaris1.dgvRuang.Columns(0).Visible = False
End Sub
Public Function cekKodeRuang()
db.koneksi()
query = "SELECT * FROM ruang WHERE id_ruang IN(SELECT MAX(id_ruang) FROM ruang)"
cmd = New SqlCommand(query, db.konek)
Dim er = cmd.ExecuteReader
er.Read()
If Not er.HasRows Then
Dim kd_ruang = "RNG" + "01"
Return kd_ruang
db.konek.Close()
Else
Dim cek = Microsoft.VisualBasic.Right(er.GetString(2), 2) + 1
Dim kd_ruang = "RNG" + Microsoft.VisualBasic.Right("000" & cek, 2)
Return kd_ruang
db.konek.Close()
End If
End Function
Public Sub tambah(nama_ruang As String, kode_ruang As String, keterangan As String)
db.koneksi()
query = "INSERT INTO ruang (nama_ruang, kode_ruang, keterangan) VALUES (@nm_ruang, @kd_ruang, @ket)"
cmd = New SqlCommand(query, db.konek)
cmd.Parameters.Add("@nm_ruang", SqlDbType.VarChar).Value = nama_ruang
cmd.Parameters.Add("@kd_ruang", SqlDbType.VarChar).Value = kode_ruang
cmd.Parameters.Add("@ket", SqlDbType.VarChar).Value = keterangan
Try
cmd.ExecuteNonQuery()
MsgBox("Data ruangan berhasil ditambah", vbInformation, "")
tampil()
db.konek.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Public Function ubah(nm_ruang As String, keterangan As String, id As Integer)
db.koneksi()
query = "UPDATE ruang SET nama_ruang = @nr, keterangan = @ket WHERE id_ruang = @id"
cmd = New SqlCommand(query, db.konek)
cmd.Parameters.Add("@nr", SqlDbType.VarChar).Value = nm_ruang
cmd.Parameters.Add("@ket", SqlDbType.VarChar).Value = keterangan
cmd.Parameters.Add("@id", SqlDbType.Int).Value = id
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
End Function
Public Function hapus(id As Integer)
db.koneksi()
query = "DELETE FROM ruang WHERE id_ruang = @id"
cmd = New SqlCommand(query, db.konek)
cmd.Parameters.Add("@id", SqlDbType.Int).Value = id
If cmd.ExecuteNonQuery Then
Return True
Else
Return False
End If
End Function
Public Sub cari()
db.koneksi()
query = "SELECT * FROM ruang WHERE nama_ruang LIKE '%" & Form1.UcInventaris1.txtCariRuang.Text & "%'"
Dim da As New SqlDataAdapter(query, db.konek)
Dim dt As New DataTable
da.Fill(dt)
Form1.UcInventaris1.dgvRuang.DataSource = dt
Form1.UcInventaris1.dgvRuang.Columns(0).Visible = False
End Sub
- User Control Ruang
Ubah property Enable menjadi False pada TextBox Nama Ruangan, Kode Ruangan, Keterangan dan juga untuk Button Simpan dan Batal
- Letakan kodingan berikut ke dalam User Control Inventaris (ucInventaris)
Dim ruang As New clsRuang
'untuk membersihkan form
Public Sub bersih()
txtNmRuang.Text = ""
txtKdRuang.Text = ""
rtxtKet.Text = ""
End Sub
'untuk mengaktifkan/menonaktifkan textbox dan button ketika button tambah data diklik
Public Sub aktif()
txtNmRuang.Enabled = True
rtxtKet.Enabled = True
btnSimpan.Enabled = True
btnBatal.Enabled = True
btnTambah.Enabled = False
btnUbah.Enabled = False
End Sub
'untuk mengaktifkan/menonaktifkan textbox dan button ketika tombol simpan atau batal diklik
Public Sub bliAktif()
txtNmRuang.Enabled = False
rtxtKet.Enabled = False
btnSimpan.Enabled = False
btnBatal.Enabled = False
btnTambah.Enabled = True
btnUbah.Enabled = True
End Sub
ruang.tampil()
pada button Menu Inventaris untuk menampilkan data pada dataGrid ketika button diklik
txtNmRuang.Text = dgvRuang.CurrentRow.Cells(1).Value
txtKdRuang.Text = dgvRuang.CurrentRow.Cells(2).Value
rtxtKet.Text = dgvRuang.CurrentRow.Cells(3).Value
txtKdRuang.Text = ruang.cekKodeRuang 'mengisi kode ruang otomatis
btnSimpan.Text = "Simpan"
aktif()
If btnSimpan.Text = "Simpan" Then 'jika btnSimpan bertuliskan Simpan maka
'jalankan perintah simpan
ruang.tambah(txtNmRuang.Text, txtKdRuang.Text, rtxtKet.Text)
Else
'jalankan perintah update
ruang.ubah(txtNmRuang.Text, rtxtKet.Text, dgvRuang.CurrentRow.Cells(0).Value)
End If
ruang.tampil() 'refresh datagridview
ruang.cekKodeRuang() 'refresh kode ruang
bersih() 'kosongkan form
bliAktif()
untuk button Batal
btnSimpan.Text = "Ubah"
aktif()
'isi pesan ketika tombol hapus diklik
Dim pesan As String = MsgBox("Yakin akan menghapus data ini ?", vbYesNo, "")
If pesan = vbYes Then 'jika pilih Yes
ruang.hapus(dgvRuang.CurrentRow.Cells(0).Value) 'jalankan perintah hapus
ruang.tampil() 'refresh data
End If
bersih()
Dan apabila ada kritik, saran ataupun pertanyaan jangan sungkan tinggal ketik saja dikolom komentar, sekian dan terimakasih.
0 Komentar