selamat sore para sahabat blogger semuanya, kembali lagi bersama saya guzko di blog yang sederhana ini. Kali ini saya akan sharing tentang bagaimana membuat aplikasi CRUD (Create, Update dan Delete) pada database ms access dan VB.Net, sesuai dengan judulnya gan. Barangkali saja ada agan agan yang lagi membutuhkan referensi, hehe... mudah-mudahan tutorial ini bermanfaat....
penampakan aplikasinya seperti ini gan :
oke gan, langsung saja kita buat programmnya...,
pertama agan buka dulu visual studionya dan buat project baru. Setelah create project, silahkan agan buat 2 buah form (1 form sebagai form utama dan 1 form sebagai form untuk updatenya ) kemudian agan desain kedua form tersebut seperti ini gan :
setelah itu agan buat sebuah database dengan menggunakan microsoft access dengan nama "karyawan.mdb". untuk cara bagaimana membuat database di microsoft accees agan bisa baca di tutorial saya yang ini.
desain databasenya seperti berikut gan :
setelah agan desain kedua form seperti diatas dan juga sudah membuat databasenya, saatnya sekarang kita ngoding gan, pertama untuk di form pertama dulu, silahkan masuk kebagian code editor dan import reference berikut ini :
selanjutnya buat deklarasi variabelnya gan seperti ini :
lanjut gan, sekarang kita buat sebuah sub yang digunakan untuk menampilkan data di database ke listview, silahkan inputkan kode dibawah ini :
setelah itu, masuk ke bagian form_load dan ketikkan kode dibawah ini gan :
pada kode diatas terdapat fungsi untuk koneksi stringnya serta membuka databasenya. ID Karyawan dibuat berdasarkan Tgl+Tahun+Jam+Menit+Detik. kemudian pada kode diatas terdapat juga kode untuk menambahkan pilihan pada combo box jabatan.
pada bagian form_closenya kita tambahkan kode berikut gan :
kode diatas digunakan untuk tutup koneksi database
selanjutnya kita menuju ke bagian button simpannya, ketikkan kode berikut gan :
penjelasanya secara alur program seperti ini gan :
pada saat agan akan melakukan proses simpan data, aplikasi akan mengecek apakah ada field yang kosong, jika ada akan tampil sebuah pesan peringatan untuk mengisi field tersebut namun jika semua field sudah terisi dengan benar maka akan dilakukan proses simpan.
fungsi try catch diatas adalah, jika seandainya pada waktu proses simpan data itu gagal, maka proses gagal atau pesan peringatan tentang error pada aplikasi akan ditampilkan pada messagebox, sehingga nantinya pengembang aplikasi akan mengetahui dimana letak error aplikasinya.
kemudian sekarang kita beralih ke button hapus, silahkan agan tambahkan kode berikut ini :
dan juga tambahkan kode dibawah ini pada button update:
kemudian tambahkan sebait kode pada event_keypress dari textbox nomor telp seperti ini gan :
penampakan aplikasinya seperti ini gan :
oke gan, langsung saja kita buat programmnya...,
pertama agan buka dulu visual studionya dan buat project baru. Setelah create project, silahkan agan buat 2 buah form (1 form sebagai form utama dan 1 form sebagai form untuk updatenya ) kemudian agan desain kedua form tersebut seperti ini gan :
setelah itu agan buat sebuah database dengan menggunakan microsoft access dengan nama "karyawan.mdb". untuk cara bagaimana membuat database di microsoft accees agan bisa baca di tutorial saya yang ini.
desain databasenya seperti berikut gan :
setelah agan desain kedua form seperti diatas dan juga sudah membuat databasenya, saatnya sekarang kita ngoding gan, pertama untuk di form pertama dulu, silahkan masuk kebagian code editor dan import reference berikut ini :
Imports System.Data Imports System.Data.OleDbkode diatas adalah untuk menambahkan reference agar koneksi antara vb.net dan database ms access bisa berjalan.
selanjutnya buat deklarasi variabelnya gan seperti ini :
Dim cnnOLEDB As New OleDbConnection
Dim cmdOLEDB As New OleDbCommand
Dim cmdInsert As New OleDbCommand
Dim sqlAdapter As New OleDbDataAdapter
Dim sqlTable As New DataTable
Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Environment.CurrentDirectory & "\Karyawan.mdb"
kode diatas adalah untuk mendeklarasikan variabel yang akan digunakan nanti untuk koneksi databasenya. serta pada kode terahir tersebut terdapat koneksi string yang diarahkan ke lokasi database berada (oya gan saya taruh database ini pada satu folder dengan aplikasinya.)lanjut gan, sekarang kita buat sebuah sub yang digunakan untuk menampilkan data di database ke listview, silahkan inputkan kode dibawah ini :
Sub tampilData()
With ListView1
.FullRowSelect = True
.MultiSelect = False
.View = View.Details
.Columns.Clear()
.Columns.Add("ID Karyawan", 100, HorizontalAlignment.Left)
.Columns.Add("Nama Karyawan", 200, HorizontalAlignment.Left)
.Columns.Add("Alamat Karyawan", 250, HorizontalAlignment.Left)
.Columns.Add("No.Telp", 150, HorizontalAlignment.Left)
.Columns.Add("Jabatan", 180, HorizontalAlignment.Left)
End With
Dim sql As String = "SELECT * FROM tbKaryawan"
With cmdOLEDB
.CommandText = sql
.Connection = cnnOLEDB
End With
With sqlAdapter
.SelectCommand = cmdOLEDB
.Fill(sqlTable)
End With
On Error Resume Next
For i = 0 To sqlTable.Rows.Count - 1
With ListView1
.Items.Add(sqlTable.Rows(i)("idKaryawan"))
With .Items(.Items.Count - 1).SubItems
.Add(sqlTable.Rows(i)("namaKaryawan"))
.Add(sqlTable.Rows(i)("alamatKaryawan"))
.Add(sqlTable.Rows(i)("noTelp"))
.Add(sqlTable.Rows(i)("jabatan"))
End With
End With
Next
On Error Resume Next
End Sub
setelah itu, masuk ke bagian form_load dan ketikkan kode dibawah ini gan :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With cmbJabatan
.Items.Add("-Pilih Jabatan-")
.Items.Add("Team Leader")
.Items.Add("Operation and Maintenance")
.Items.Add("Desk Control")
.Items.Add("Quality Assurance")
.Items.Add("Supervisor")
.Text = "-Pilih Jabatan-"
End With
cnnOLEDB.ConnectionString = strConnectionString
cnnOLEDB.Open()
tampilData()
txtIDKaryawan.Text = DateTime.Now.ToString("ddyyyyHHmmss")
txtNamaKaryawan.Focus()
End Sub
pada kode diatas terdapat fungsi untuk koneksi stringnya serta membuka databasenya. ID Karyawan dibuat berdasarkan Tgl+Tahun+Jam+Menit+Detik. kemudian pada kode diatas terdapat juga kode untuk menambahkan pilihan pada combo box jabatan.
pada bagian form_closenya kita tambahkan kode berikut gan :
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
cnnOLEDB.Close()
End Sub
kode diatas digunakan untuk tutup koneksi database
selanjutnya kita menuju ke bagian button simpannya, ketikkan kode berikut gan :
Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click
If txtIDKaryawan.Text = "" Or txtAlamatKaryawan.Text = "" Or txtNamaKaryawan.Text = "" Or txtTelp.Text = "" Or _
cmbJabatan.Text = "-Pilih Jabatan-" Then
MsgBox("Semua Kolom Harus Dilengkapi", vbExclamation, "Crud Application (Guzko Tutorial)")
Exit Sub
Else
Try
cmdInsert.CommandText = "INSERT INTO tbKaryawan (idKaryawan,namaKaryawan,alamatKaryawan,noTelp,jabatan) " & _
"VALUES('" & txtIDKaryawan.Text & "','" & txtNamaKaryawan.Text & "'," & _
"'" & txtAlamatKaryawan.Text & "','" & txtTelp.Text & "','" & cmbJabatan.Text & "')"
cmdInsert.CommandType = CommandType.Text
cmdInsert.Connection = cnnOLEDB
cmdInsert.ExecuteNonQuery()
MsgBox("Data Berhasil Disimpan", vbInformation, "Crud Application (Guzko Tutorial)")
cmdInsert.Dispose()
tampilData()
cnnOLEDB.Close()
txtIDKaryawan.Clear()
txtAlamatKaryawan.Clear()
txtNamaKaryawan.Clear()
txtTelp.Clear()
cmbJabatan.Text = "-Pilih Jabatan-"
Catch ex As Exception
MsgBox("Unknown Error : " & ex.Message, vbCritical, "Crud Application (Guzko Tutorial)")
End Try
End If
End Sub
penjelasanya secara alur program seperti ini gan :
pada saat agan akan melakukan proses simpan data, aplikasi akan mengecek apakah ada field yang kosong, jika ada akan tampil sebuah pesan peringatan untuk mengisi field tersebut namun jika semua field sudah terisi dengan benar maka akan dilakukan proses simpan.
fungsi try catch diatas adalah, jika seandainya pada waktu proses simpan data itu gagal, maka proses gagal atau pesan peringatan tentang error pada aplikasi akan ditampilkan pada messagebox, sehingga nantinya pengembang aplikasi akan mengetahui dimana letak error aplikasinya.
kemudian sekarang kita beralih ke button hapus, silahkan agan tambahkan kode berikut ini :
Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click
If txtIDKaryawan.Text = "" Then
MsgBox("silahkan pilih data yang ingin dihapus", vbExclamation, "Crud Application (Guzko Tutorial)")
txtIDKaryawan.Focus()
Exit Sub
Else
Dim tanya As Integer
tanya = MsgBox("Apakah anda yakin ingin menghapus data dengan ID : " & txtIDKaryawan.Text & " ?", vbQuestion + vbYesNo, "Crud Application (Guzko Tutorial)")
If tanya = vbYes Then
cmdInsert.CommandText = "DELETE FROM tbKaryawan WHERE idKaryawan='" & txtIDKaryawan.Text & "'"
cmdInsert.CommandType = CommandType.Text
cmdInsert.Connection = cnnOLEDB
cmdInsert.ExecuteNonQuery()
MsgBox("Data Berhasil Dihapus", vbInformation, "Crud Application (Guzko Tutorial)")
tampilData()
cmdInsert.Dispose()
cnnOLEDB.Close()
End If
End If
End Sub
dan juga tambahkan kode dibawah ini pada button update:
Private Sub cmdUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpdate.Click
If txtIDKaryawan.Text = "" Then
MsgBox("silahkan pilih terlebih dahulu data yang akan diupdate", vbExclamation, "Crud Application (Guzko Tutorial)")
txtIDKaryawan.Focus()
Exit Sub
Else
Dim tanya As Integer
tanya = MsgBox("Apakah anda yakin ingin meng-update data karyawan dengan ID : " & txtIDKaryawan.Text & " ?", vbQuestion + vbYesNo, "Crud Application (Guzko Tutorial)")
If tanya = vbYes Then
Me.Enabled = False
Form2.txtIDKaryawan.Text = txtIDKaryawan.Text
Form2.Show()
End If
End If
End Sub
pada kode diatas, jika textboxt id karyawan sudah dipilih oleh user, maka form1 akan didisable dan form2 akan ditampilkan.kemudian tambahkan sebait kode pada event_keypress dari textbox nomor telp seperti ini gan :
Private Sub txtTelp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelp.KeyPress
If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then
e.Handled = True
End If
End Sub
kode diatas berguna untuk mencegah inputan dari user selain angka
kemudian tambahkan juga sebait kode pada listview_click seperti ini gan :
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click
txtIDKaryawan.Text = ListView1.SelectedItems.Item(0).Text
End Sub
kode diatas digunakan untuk menampilkan data ID Karyawan pada textbox jika listview diklik oleh user.
oke dech coding pada form1 sudah selesai....
masih mau lanjut gan....?????? hehehe...
gaspoollllll....
masuk kebagian code editor pada form2 agan dan buat sebuah sub untuk menampilkan data dari database ke textbox. kodenya seperti dibawah ini :
Sub getData()
Try
'cnnOLEDB.Open()
Dim str As String
str = "SELECT * FROM tbKaryawan WHERE idKaryawan = '" & txtIDKaryawan.Text & "'"
Dim eksekutor = New OleDbCommand(str, cnnOLEDB)
Dim rd = eksekutor.ExecuteReader
rd.Read()
If rd.HasRows Then
txtNamaKaryawan.Text = rd.Item("namaKaryawan")
txtAlamat.Text = rd.Item("alamatKaryawan")
txtTelp.Text = rd.Item("noTelp")
cmbJabatan.Text = rd.Item("jabatan")
Else
MsgBox("Tidak Ditemukan Data dari ID : " & txtIDKaryawan.Text & " !", vbExclamation, "Crud Application (Guzko Tutorial)")
End If
Catch ex As Exception
MsgBox("Unknow Error : " & ex.Message & "", vbCritical, "Crud Application (Guzko Tutorial)")
End Try
End Sub
kemudian setelah itu lanjut ke bagian form2_load dan inputkan kode seperti dibawah ini :
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With cmbJabatan
.Items.Add("-Pilih Jabatan-")
.Items.Add("Team Leader")
.Items.Add("Operation and Maintenance")
.Items.Add("Desk Control")
.Items.Add("Quality Assurance")
.Items.Add("Supervisor")
End With
cnnOLEDB.ConnectionString = strConnectionString
cnnOLEDB.Open()
getData()
End Sub
gak perlu saya jelasin lagi kan gan fungsi kode diatas, pasti semuanya sudah pada ngerti, hehe...
lanjut kebagian button updatenya, ketikkan kode berikut ini gan :
Private Sub cmdUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpdate.Click
Try
cmdInsert.CommandText = "UPDATE tbKaryawan SET namaKaryawan='" & txtNamaKaryawan.Text & "', alamatKaryawan = '" & txtAlamat.Text & "',noTelp='" & txtTelp.Text & "',jabatan='" & cmbJabatan.Text & "' WHERE idKaryawan='" & txtIDKaryawan.Text & "'"
cmdInsert.CommandType = CommandType.Text
cmdInsert.Connection = cnnOLEDB
cmdInsert.ExecuteNonQuery()
MsgBox("Data Berhasil Diupdate", vbInformation, "Crud Application (Guzko Tutorial)")
cmdInsert.Dispose()
cnnOLEDB.Close()
cmdCancel.PerformClick()
Catch ex As Exception
MsgBox("Unknown Error : " & ex.Message & "", vbCritical, "Crud Application (Guzko Tutorial)")
End Try
End Sub
dan kode dibawah ini untuk di button cancel nya gan :
Private Sub cmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancel.Click
Me.Close()
cnnOLEDB.Close()
Form1.Enabled = True
Form1.Show()
End Sub
akhirnyyaaaaa......selesai juga ane buat postingan ini gan...., setelah semua kode agan buat, waktunya sekarang adalah testing aplikasinya brooo....
bagi agan-agan yang mau download source code lengkapnya bisa melalui link dibawah yang sudah saya sediakankan gan.
silahkan agan jalankan aplikasi tersebut dan jika masih ada yang bingung silahkan langsung berkomentar gan, gak usah segan-segan, hehee...
saya yakin aplikasi saya ini masih sangat jauh dari kata sempurna, namun mudah-mudahan dengan saya membuat aplikasi ini bisa memberikan agan sedikit referensi...
oke gan, sampai jumpa lagi di tutorial berikutnya...
seeee.....uuuuuuu







3 komentar
database accessnya format mdb atau bukan?
gan..
itu wktu di update bisa tpi pd listview d form1 ga berubah..
tp kalo diclose dlu lalu dijalanin lagi, bru berubah hasilnya..
gimana cara lnsung agar langsung berubah gan??
mohon ilmunya gan
link error bro