Salam sejahtera untuk semuanya
disini saya akan menjelaskan bagaimana membuat sebuah fungsi CRUD dengan
menggunakan visual studio yang terkoneksi database dengan Microsoft Access.
Langsung saja langkah pertama yang dilakukan membuat tampilan untuk design utamanya seperti gambar dberikut :
Apa saja yang digunakan disini
saya menggunakan MenuStrip, dan kita lanjut membuat Form-form berikutnya agar
bisa berjalan dengan baik aplikasi ini.
Langkah berikutnya disini saya membuat form Login agar untuk masuk ke aplikasi ini tidak sembarang orang bisa masuk dan berikut gambarnya :
Disini saya hanya menggunakan
TextBox, Lebel, Dan Button.
Selanjutnya
adalah membuat Form untuk menginput akses Login berikut contoh yang saya buat :
Seperti biasa saya disini saya
menggunakan TextBox, Lebel, Button dan DataGridView.
Langkah berikutnya membuat Form untuk mengisi data dan berikut gambarnya.
Tools yang saya gunakan disini
adalah TextBox, Lebel, Button, DataGridView dan DateTimePicker.
Langkah
Berikutnya saya membuat form untuk Mengecek data seperti berikut contohnya :
Dan disini saya menggunkan tools
TextBox, Lebel, DataGridView dan DateTimePicker.
Form terakhir yang saya buat adalah Form About dimana disini berfungsi untuk mengetahui tentang aplikasi ini dibuat, Dan beriikut sebagai contohnya :
Disini saya hanya menggunakan
PictureBox, Label dan Button.
Dan langkah selanjutnya adalah
membuat Databasenya, disini saya hanya menggunakan Microsoft Access. Dalam satu
Database saya membuat 2 tabel, yang satu saya gunakan untuk menyimpan data
Login dan satunya lagi saya buat untuk menyimpan data perangkat atau informasi
yang disimpan dan berikut contoh gambarnya :
Setelah berhasil dibuat langkah berikutnya adalah mengkoneksikan antara program yang kita buat dengan Databasenya dan berikut capture codingan untuk mengkoneksikan ke Database :
Sesuaikan nama Dbku.accdb dengan
nama Database yang anda buat nama tidak harus seperti itu bebas ingin
menggunakan nama apa.
Langkah selanjutnya saya membuat codingan di Form Menu Utama agar saat program dirun ketika mengklik di menu-menu yang kita inginkan akan keluar sesuai apa yang kita inginkan dan berikut contoh capture codingannya :
Dari Codingan seperti contoh
adalah setiap kita Mengklik pada menu yang kita inginkan maka akan langsung
menjalankan program sesuai yang telah kita buat.
Dan satu lagi yang jangan ketinggalan yaitu membuat codingan pada form login seperti berikut :
Fungsi dari codingan diatas adalah untuk kemungkinan-kamungkinan yang akan
dialami dalam proses Login ketika ingin masuk ke aplikasinya.
Dan langkah selanjutnya adalah
membuat codingan untuk form Input Login seperti berikut :
Dan Langkah selanjutnya adalah
membuat Codingan untuk Form Input Data dengan contoh berikut :
Dan Langkah Selanjutnya adalah
membuat Coding pada Form Cek Data Seperti contoh berikut ini :
Setelah
selesai lakukan kembali buat codingan pada Form About seperti berikut :
Setelah Semua codingan dibuat langkah selanjutnya Run
program, Dan berikut Hasil program ketika dijalankan :
Langkah pertama adalah mengisi form untuk Login sesuai yang telah didaftarkan
Langkah pertama adalah mengisi form untuk Login sesuai yang telah didaftarkan
Lalu masuk pada Menu Utama disini kita bisa memilih ingin menginput data atau mengecek/monitoring barang-barang.
Dan disini masuk pada tahap input data kita mengsikan data sesuai dengan Kertas Tanda terima barang.
Data berhasil di save maka langsung muncul pada Tabel yang dibawah jika kita ingin mengubah kita hanya perlu mengklik pada No registrasi dan dapa
Dan kita masuk pada menu Cek data
Disini kita bisa search data berdasarkan no registrasi perangkatnya
Dan berikut Codingan untuk keseluruhannya :
Codingan untuk Koneksi :
Imports System.Data.OleDb
Module ModKoneksi
Public conn As OleDbConnection
Public cmd As OleDbCommand
Public da As OleDbDataAdapter
Public dr As OleDbDataReader
Public ds As DataSet
Sub Koneksi()
conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "/DBku.accdb")
conn.Open()
End Sub
End Module
Codingan untuk FormMenuUtama
Public Class FormMenuUtama
Private Sub ToolStripMenuItem5_Click(sender As Object, e As EventArgs) Handles SubMenuLogin.Click
Dim f_MenuLogin As New FormInputLogin
f_MenuLogin.ShowDialog()
End Sub
Private Sub SubMenuData_Click(sender As Object, e As EventArgs) Handles SubMenuData.Click
Dim f_MenuInputData As New FormInputData
f_MenuInputData.ShowDialog()
End Sub
Private Sub SubMenuCekData_Click(sender As Object, e As EventArgs) Handles SubMenuCekData.Click
Dim f_menuCekData As New FormCekData
f_menuCekData.ShowDialog()
End Sub
Private Sub MenuAbout_Click(sender As Object, e As EventArgs) Handles MenuAbout.Click
Dim f_about As New FormAbout
f_about.ShowDialog()
End Sub
Private Sub SubMenuKeluar_Click(sender As Object, e As EventArgs) Handles SubMenuKeluar.Click
Dim keluar As String
keluar = MessageBox.Show("Yakin Mau Menutup Aplikasi ?", "Informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If keluar = Windows.Forms.DialogResult.Yes Then
Application.Exit()
End If
End Sub
End Class
Codingan untuk FormLogin
Public Class FormLogin
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
TxtKodeUser.Focus()
End Sub
Private Sub TxtKodeUser_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtKodeUser.KeyPress
If e.KeyChar = Chr(13) Then
Call Koneksi()
cmd = New OleDbCommand("SELECT * FROM LOGIN WHERE KODE_USER='" & TxtKodeUser.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
TxtKodeUser.Enabled = False
TxtPassword.Focus()
Else
MessageBox.Show("NAMA USER tidak ditemukan di database", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information)
TxtKodeUser.Clear()
TxtKodeUser.Focus()
End If
End If
End Sub
Private Sub TxtPassword_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtPassword.KeyPress
If e.KeyChar = Chr(13) Then
BtnLogin.Focus()
End If
End Sub
Private Sub BtnLogin_Click(sender As Object, e As EventArgs) Handles BtnLogin.Click
If TxtPassword.Text = "" And TxtKodeUser.Text = "" Then
MessageBox.Show("Nama User dan Password harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Question)
TxtKodeUser.Focus()
ElseIf TxtPassword.Text = "" Then
MessageBox.Show("Password harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Question)
TxtPassword.Focus()
ElseIf TxtKodeUser.Text = "" Then
MessageBox.Show("Nama User harus diisi", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Question)
TxtKodeUser.Focus()
Else
Call Koneksi()
cmd = New OleDbCommand("SELECT * FROM LOGIN WHERE KODE_USER='" & TxtKodeUser.Text & "'AND PASSWORD_USER='" & TxtPassword.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
Dim f_MenuUtama As New FormMenuUtama
f_MenuUtama.Show()
Me.Hide()
Else
MessageBox.Show("Mohon Maaf,Akses di Tolak", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Stop)
TxtPassword.Clear()
TxtPassword.Focus()
End If
End If
End Sub
Private Sub BtnCancel_Click(sender As Object, e As EventArgs) Handles BtnCancel.Click
Dim keluar As String
keluar = MessageBox.Show("Yakin Batal Login Aplikasi", "informasi", MessageBoxButtons.YesNo, MessageBoxIcon.Information)
If keluar = MsgBoxResult.Yes Then
Application.Exit()
End If
End Sub
End Class
Codingan untuk FormInputLogin
Imports System.Data.OleDb
Public Class FormInputLogin
Sub KosongkanData()
TxtKodeuser.Clear()
TxtPassword.Clear()
TxtKodeuser.Focus()
End Sub
Sub DataBaru()
TxtPassword.Clear()
TxtKodeuser.Focus()
End Sub
Sub Ketemu()
TxtPassword.Text = dr.Item(1)
TxtKodeuser.Focus()
End Sub
Sub TampilGrid()
da = New OleDbDataAdapter("SELECT * FROM LOGIN", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub FormInputLogin_Load(sender As Object, e As EventArgs) Handles Me.Load
Call Koneksi()
Call KosongkanData()
Call TampilGrid()
End Sub
Private Sub TxtKodeuser_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtKodeuser.KeyPress
If e.KeyChar = Chr(13) Then
Call Koneksi()
cmd = New OleDbCommand("SELECT * FROM LOGIN WHERE KODE_USER='" & TxtKodeuser.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If Not dr.HasRows Then
Call DataBaru()
Else
Call Ketemu()
End If
End If
End Sub
Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles BtnSimpan.Click
cmd = New OleDbCommand("SELECT * FROM LOGIN WHERE KODE_USER='" & TxtKodeuser.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
Try
If Not dr.HasRows Then
Dim simpan As String = "INSERT INTO LOGIN VALUES ('" & TxtKodeuser.Text & "','" & TxtPassword.Text & "')"
cmd = New OleDbCommand(simpan, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhaasil diSimpan")
TampilGrid()
Else
Dim edit As String = "UPDATE LOGIN SET PASSWORD_USER='" & TxtPassword.Text & "' WHERE KODE_USER='" & TxtKodeuser.Text & "'"
cmd = New OleDbCommand(edit, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil diuBah")
TampilGrid()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Call KosongkanData()
End Sub
Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles BtnHapus.Click
If TxtKodeuser.Text = "" Then
MsgBox("Kode User Harus diisi dulu")
TxtKodeuser.Focus()
Exit Sub
Else
If MessageBox.Show("Yakin akan di hapus ?", "Perhatian", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim hapus As String = "DELETE * FROM LOGIN WHERE KODE_USER='" & TxtKodeuser.Text & "'"
cmd = New OleDbCommand(hapus, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil di Hapus")
Call KosongkanData()
Else
Call KosongkanData()
End If
End If
End Sub
Private Sub BtnBatal_Click(sender As Object, e As EventArgs) Handles BtnBatal.Click
Call KosongkanData()
End Sub
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles BtnKeluar.Click
Close()
End Sub
Private Sub TxtUsername_KeyPress(sender As Object, e As KeyPressEventArgs)
If e.KeyChar = Chr(13) Then
TxtPassword.Focus()
End If
End Sub
Private Sub TxtPassword_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtPassword.KeyPress
If e.KeyChar = Chr(13) Then
BtnSimpan.Focus()
End If
End Sub
End Class
Codingan untuk FormInputData
Public Class FormInputData
'
Sub KosongkanData()
Txtreg.Clear()
Txtkerusakan.Clear()
Txtvendor.Clear()
Txtreg.Focus()
End Sub
Sub DataBaru()
Txtkerusakan.Clear()
Txtreg.Clear()
Txtvendor.Clear()
Txtkerusakan.Focus()
End Sub
Sub Ketemu()
Txtreg.Text = dr.Item(1)
Txtkerusakan.Text = dr.Item(2)
txtstatus.Text = dr.Item(3)
txtkeluarbarang.Text = dr.Item(4)
txtmasukbarang.Text = dr.Item(5)
Txtvendor.Text = dr.Item(6)
Txtreg.Focus()
End Sub
Sub TampilGrid()
da = New OleDbDataAdapter("SELECT * FROM DATA", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub FormInputData_Load(sender As Object, e As EventArgs) Handles Me.Load
Call Koneksi()
Call KosongkanData()
Call TampilGrid()
End Sub
Private Sub TxtNik_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Txtreg.KeyPress
If e.KeyChar = Chr(13) Then
Call Koneksi()
cmd = New OleDbCommand("SELECT * FROM DATA WHERE No_registrasi='" & Txtreg.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If Not dr.HasRows Then
Call DataBaru()
Else
End If
End If
End Sub
Private Sub BtnSimpan_Click(sender As Object, e As EventArgs) Handles BtnSimpan.Click
cmd = New OleDbCommand("SELECT * FROM DATA WHERE no_registrasi='" & Txtreg.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
Try
If Not dr.HasRows Then
Dim simpan As String = "INSERT INTO DATA VALUES('" & Txtreg.Text & "','" & Txtkerusakan.Text & "','" & txtstatus.Text & "','" & txtkeluarbarang.Text & "','" & txtmasukbarang.Text & "','" & Txtvendor.Text & "')"
cmd = New OleDbCommand(simpan, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhaasil diSimpan")
TampilGrid()
Else
Dim edit As String = "UPDATE DATA SET STATUS='" & Txtkerusakan.Text & "',KERUSAKAN='" & txtstatus.Text & "',TGL_KELUAR='" & txtkeluarbarang.Text & "',VENDOR='" & Txtvendor.Text & "' where NO_REGISTRASI='" & Txtreg.Text & "'"
cmd = New OleDbCommand(edit, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil diuBah")
TampilGrid()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Call KosongkanData()
End Sub
Private Sub BtnHapus_Click(sender As Object, e As EventArgs) Handles BtnHapus.Click
If Txtreg.Text = "" Then
MsgBox("Kode no Registrasi Harus diisi dulu", MsgBoxStyle.Information)
Txtreg.Focus()
Exit Sub
Else
If MessageBox.Show("Yakin akan di hapus ?", "Perhatian", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Dim hapus As String = "DELETE * FROM DATA WHERE no_registrasi='" & Txtreg.Text & "'"
cmd = New OleDbCommand(hapus, conn)
cmd.ExecuteNonQuery()
MsgBox("Data Berhasil di Hapus", MsgBoxStyle.Information)
Call KosongkanData()
Call TampilGrid()
Else
Call KosongkanData()
End If
End If
End Sub
Private Sub BtnBatal_Click(sender As Object, e As EventArgs) Handles BtnBatal.Click
Call KosongkanData()
End Sub
Private Sub BtnKeluar_Click(sender As Object, e As EventArgs) Handles BtnKeluar.Click
Close()
End Sub
Private Sub TxtNama_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Txtkerusakan.KeyPress
End Sub
Private Sub TxtStatus_KeyPress(sender As Object, e As KeyPressEventArgs)
If e.KeyChar = Chr(13) Then
Txtvendor.Focus()
End If
End Sub
Private Sub TxtPekerjaan_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Txtvendor.KeyPress
If e.KeyChar = Chr(13) Then
BtnSimpan.Focus()
End If
End Sub
Private Sub txtkeluarbarang_ValueChanged(sender As Object, e As EventArgs) Handles txtkeluarbarang.ValueChanged
End Sub
Private Sub Txtreg_TextChanged(sender As Object, e As EventArgs) Handles Txtreg.TextChanged
da = New OleDbDataAdapter("select * from data where no_registrasi LIKE '%" & Txtreg.Text & "%'", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs)
End Sub
Private Sub CheckBox1_CheckStateChanged(sender As Object, e As EventArgs)
End Sub
Private Sub CheckBox1_EnabledChanged(sender As Object, e As EventArgs)
End Sub
End Class
Codingan untuk CekData
Public Class FormCekData
Sub KosongkanData()
Txtreg.Clear()
Txtkerusakan.Clear()
Txtvendor.Clear()
Txtreg.Focus()
End Sub
Sub DataBaru()
Txtkerusakan.Clear()
Txtreg.Clear()
Txtvendor.Clear()
Txtkerusakan.Focus()
End Sub
Sub Ketemu()
Txtreg.Text = dr.Item(1)
Txtkerusakan.Text = dr.Item(2)
txtstatus.Text = dr.Item(3)
txtkeluarbarang.Text = dr.Item(4)
txtmasukbarang.Text = dr.Item(5)
Txtvendor.Text = dr.Item(6)
Txtreg.Focus()
End Sub
Sub TampilGrid()
da = New OleDbDataAdapter("SELECT * FROM DATA", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Call KosongkanData()
End Sub
Private Sub TxtNik_KeyPress(sender As Object, e As KeyPressEventArgs)
End Sub
Private Sub TxtNik_TextChanged(sender As Object, e As EventArgs)
End Sub
Private Sub FormCekData_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Call TampilGrid()
Call DataBaru()
End Sub
Private Sub Txtreg_TextChanged(sender As Object, e As EventArgs) Handles Txtreg.TextChanged
da = New OleDbDataAdapter("select * from data where no_registrasi LIKE '%" & Txtreg.Text & "%'", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub Txtreg_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Txtreg.KeyPress
If e.KeyChar = Chr(13) Then
Call Koneksi()
cmd = New OleDb.OleDbCommand("SELECT * FROM DATA WHERE NO_REGISTRASI='" & Txtreg.Text & "'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
Call Ketemu()
End If
End If
End Sub
Private Sub txtstatus_SelectedIndexChanged(sender As Object, e As EventArgs) Handles txtstatus.SelectedIndexChanged
da = New OleDbDataAdapter("select * from data where status LIKE '%" & txtstatus.Text & "%'", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
Private Sub Txtkerusakan_TextChanged(sender As Object, e As EventArgs) Handles Txtkerusakan.TextChanged
da = New OleDbDataAdapter("select * from data where kerusakan LIKE '%" & Txtkerusakan.Text & "%'", conn)
ds = New DataSet
da.Fill(ds)
DataGridView1.DataSource = ds.Tables(0)
DataGridView1.ReadOnly = True
End Sub
End Class
Sekian Penjelasan pembuatan aplikasi ini saya jelaskan kurang lebihnya mohon maaf.
Terima Kasih
Terima Kasih
ConversionConversion EmoticonEmoticon