Dalam
memahami isi dari tutorial ini, diasumsikan sudah memahami langkah - langkah
dalam membuat aplikasi dari VB. Net dan Database Acces 2007.
Step 1 : Membuat database
Buat lah database baru dengan nama DevDb.accdb,
lalu buat sebuah tabel dengan nama Pengguna.
Struktur Tabel Pengguna :
Field
|
Type
|
Size
|
Keterangan
|
Kd_User
|
Text
|
10
|
PK
(Primary Key)
|
Nm_User
|
Text
|
20
|
|
Passw
|
Text
|
20
|
|
Status
|
Text
|
30
|
Isi lah tabel pengguna tersebut dengan field –field seperti dibawah ini :
Step 2 : Membuat Project VB. Net
Buat
lah project baru, lalu tambahkan dua buah
form dengan nama Form User dan Tabel Data User serta sebuah Module dengan nama ModKoneksi.
a.
Membuat Module
ModKoneksi ini adalah sebagai koneksi
antara aplikasi yang akan dibuat dengan database Access 2007. Ketikan kode
berikut pada ModKonek :
Imports System.Data.OleDb
Module ModKoneksi
Public cnn As OleDbConnection
Public da As OleDbDataAdapter
Public ds As DataSet
Public cmmd As OleDbCommand
Public dr As OleDbDataReader
Public Str As String
Public Sub Koneksi()
Str =
"Provider= Microsoft.ACE.OLEDB.12.0;Data
Source=" & Application.StartupPath
& "\DevDb.accdb"
cnn =
New OleDbConnection(Str)
If cnn.State = ConnectionState.Closed
Then
cnn.Open()
End If
End Sub
End Module
b.
Form
User
Form
User ini digunakan sebagai input data user.
Property Setting :
Object
|
Name
|
Text
|
Form 1
|
Form_User
|
Form
User
|
Label 1
|
LblKdUser
|
USR001
|
Label 2
|
Label 2
|
Kode
Pengguna
|
Label 3
|
Label 3
|
Nama
Pengguna
|
Label 4
|
Label 4
|
Password
|
Label 5
|
Label 5
|
Status
|
TextBox
1
|
TxtNm_User
|
USR001
|
TextBox
2
|
Kunci
|
-
|
ComboBox
1
|
CbStatus
|
-
|
Button
1
|
BtnCari
|
Cari
|
Button
2
|
BtnSimpan
|
Simpan
|
Button
3
|
BtnUbah
|
Ubah
|
Button
4
|
BtnBatal
|
Batal
|
Button
5
|
BtnHapus
|
Hapus
|
Button
6
|
BtnKeluar
|
Keluar
|
GroupBox
1
|
GroupBox
1
|
Data
Pengguna
|
GroupBox
2
|
GroupBox
2
|
Navigasi
|
Klik 2x pada masing – masing object
pada Form User, lalu ketikan kode
berikut :
Imports System.Data
Imports System.Data.OleDb
Public Class FormUser
Private Sub
FormUser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Call Koneksi()
Call HapusText()
Call NOOTOMAT()
Call buttonBaru()
Call tidakisi()
Call kosong()
End Sub
Sub NOOTOMAT()
cmmd
= New OleDbCommand("select * From Pengguna order by Kd_User desc",
cnn)
dr =
cmmd.ExecuteReader
dr.Read()
If Not dr.HasRows Then
LblKdUser.Text = "USR001"
Else
LblKdUser.Text
= Val(Microsoft.VisualBasic.Mid(dr.Item("Kd_User").ToString,
5, 3)) + 1
If Len(LblKdUser.Text) = 1 Then
LblKdUser.Text = "USR00"
& LblKdUser.Text & ""
ElseIf Len(LblKdUser.Text) = 2 Then
LblKdUser.Text = "USR0"
& LblKdUser.Text & ""
ElseIf Len(LblKdUser.Text) = 3 Then
LblKdUser.Text = "USR"
& LblKdUser.Text & ""
End If
End If
dr.Close()
End Sub
Sub status()
CbStatus.Items.Add("Admin")
CbStatus.Items.Add("User")
End Sub
Sub kosong()
CbStatus.Items.Clear()
CbStatus.Items.Clear()
End Sub
Sub HapusText()
LblKdUser.Focus()
TxtNm_User.Text = ""
TxtKunci.Text = ""
BtnSimpan.Text = "Tambah"
End Sub
Sub bisaisi()
TxtNm_User.Enabled = True
TxtKunci.Enabled
= True
CbStatus.Enabled = True
End Sub
Sub tidakisi()
TxtNm_User.Enabled = False
TxtKunci.Enabled = False
CbStatus.Enabled = False
End Sub
Sub buttonBaru()
BtnSimpan.Enabled = True
BtnUbah.Enabled = False
BtnHapus.Enabled = False
BtnBatal.Enabled = False
BtnKeluar.Enabled = True
End Sub
Sub buttonEdit()
btnSimpan.Enabled = False
BtnUbah.Enabled = True
btnHapus.Enabled = True
BtnBatal.Enabled = True
BtnKeluar.Enabled = False
End Sub
Sub buttonSimpan()
btnSimpan.Enabled = True
BtnUbah.Enabled = False
BtnHapus.Enabled = False
BtnBatal.Enabled = True
BtnKeluar.Enabled = True
End Sub
Private Sub
BtnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnSimpan.Click
Dim simpan As String
If BtnSimpan.Text = "Tambah"
Then
BtnSimpan.Text = "Simpan"
Call bisaisi()
Call NOOTOMAT()
Call buttonSimpan()
Call status()
TxtNm_User.Focus()
Else
If TxtNm_User.Text = ""
Then
MsgBox("Isi Username Pengguna",
MsgBoxStyle.Critical, "Pemberitahuan")
TxtNm_User.Focus()
Exit Sub
End If
If TxtKunci.Text = ""
Then
MsgBox("Isi Password Pengguna",
MsgBoxStyle.Critical, "Pemberitahuan")
TxtKunci.Focus()
Exit Sub
End If
If CbStatus.Text = ""
Then
MsgBox("Isi Status Pengguna",
MsgBoxStyle.Critical, "Pemberitahuan")
CbStatus.Focus()
Exit Sub
End If
Try
simpan = "Insert Into Pengguna(Kd_User,
Nm_User, Passw, Status)Values " & _
"('" & LblKdUser.Text
& "','" & TxtNm_User.Text
& "','" & TxtKunci.Text
& "','" & CbStatus.Text
& "')"
cmmd = New OleDbCommand(simpan,
cnn)
Dim x As
Integer = cmmd.ExecuteNonQuery()
If x = 1 Then
Call HapusText()
Call tidakisi()
Call NOOTOMAT()
Call buttonBaru()
Call kosong()
MessageBox.Show("Data User Sudah Disimpan ", "Simpan Data Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub
BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnUbah.Click
Dim ubah As String
If TxtNm_User.Text = ""
Or TxtKunci.Text = ""
Or CbStatus.Text = ""
Then
MsgBox("Tidak Ada Data Yang
Diubah", MsgBoxStyle.Critical, "Pemberitahuan")
Exit Sub
Else
Try
ubah = "Update Pengguna set "
& _
"Nm_User='" &
TxtNm_User.Text & "'," & _
"Passw='" &
TxtKunci.Text & "'," & _
"Status='" &
CbStatus.Text & "' " & _
"where Kd_User='" &
LblKdUser.Text & "'"
cmmd = New OleDbCommand(ubah,
cnn)
Dim x As
Integer = cmmd.ExecuteNonQuery()
If x = 1 Then
Call HapusText()
MessageBox.Show("Data User Berhasil Diubah ", "Ubah Data Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call tidakisi()
Call buttonBaru()
Call
kosong()
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
End Sub
Private Sub
BtnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnBatal.Click
Call HapusText()
Call tidakisi()
Call NOOTOMAT()
Call buttonBaru()
Call kosong()
End Sub
Private Sub
BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnHapus.Click
Dim hapus As String
Try
hapus = "DELETE FROM Pengguna WHERE
Kd_User = '" & LblKdUser.Text & "'"
cmmd = New OleDbCommand(hapus,
cnn)
Dim X As Integer = cmmd.ExecuteNonQuery()
If X = 1 Then
Dim popload As
New Loading
popload.ShowDialog()
Call HapusText()
MessageBox.Show("Data User Sudah Dihapus ", "Hapus Data Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information)
Call buttonBaru()
Call tidakisi()
Call kosong()
Else
MsgBox("Gagal Hapus Data User",
MsgBoxStyle.Critical, "Pemberitahuan")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
Private Sub
BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
End Class
Sampai disini Form User selesai
dibuat. Jalan kan lalu isi data Form User sesuai dengan data yang diinginkan
lalu klik tombol simpan, Seperti pada gambar berikut.
c.
Tabel Data User
Selanjutnya kita akan membuat tabel
data user, untuk menampilkan data user yang sudah diinput pada Form User.
Property Setting :
Object
|
Name
|
Text
|
Form 1
|
Tabel_User
|
Tabel
Data User
|
Label 1
|
Label 1
|
Tabel
Data User
|
Label 2
|
Label 2
|
Kriteria
|
Label 3
|
Label 3
|
Kata
Kunci
|
TextBox
1
|
TxtKey
|
-
|
TextBox
2
|
Counter
|
-
|
ComboBox
1
|
ComboBox
1
|
Username
|
Button
1
|
BtnKeluar
|
Keluar
|
DataGridView
1
|
DataGridView
1
|
-
|
Klik 2x pada masing – masing object
pada Tabel Data User, lalu ketikan
kode berikut :
Imports System.Data
Imports System.Data.OleDb
Public Class TabelUser
Public sqlx, retKode, retUser, retPass, retStat As String
Private Sub
TabelUser_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
txtKey.Focus()
Call Koneksi()
Call ListData()
ComboBox1.Items.Add("Username")
ComboBox1.Items.Add("Status")
End Sub
Sub ListData()
Dim x As Integer
If ComboBox1.Text = "Username"
Then
cmmd = New OleDbCommand("select * from Pengguna where Nm_User like '%"
& txtKey.Text & "%'", cnn)
dr = cmmd.ExecuteReader
dr.Read()
If dr.HasRows = True Then
da = New OleDbDataAdapter("select * from Pengguna where Nm_User like '%"
& txtKey.Text & "%'", cnn)
ds = New DataSet
da.Fill(ds, "Pengguna")
DataGridView1.DataSource = ds.Tables("Pengguna")
x = DataGridView1.Rows.Count()
counter.Text = x
Else
MessageBox.Show("Data User Tidak Ada ", "Info Pencarian Data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtKey.Text = ""
txtKey.Focus()
End If
ElseIf ComboBox1.Text = "Status"
Then
cmmd = New OleDbCommand("select * from Pengguna where Status like '%"
& txtKey.Text & "%'", cnn)
dr = cmmd.ExecuteReader
dr.Read()
If dr.HasRows = True Then
da = New OleDbDataAdapter("select * from Pengguna where Status like '%"
& txtKey.Text & "%'", cnn)
ds = New DataSet
da.Fill(ds, "Pengguna")
DataGridView1.DataSource = ds.Tables("Pengguna")
x = DataGridView1.Rows.Count()
counter.Text = x
Else
MessageBox.Show("Data User Tidak Ada ", "Info Pencarian Data", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
txtKey.Text = ""
txtKey.Focus()
End If
End If
End Sub
Private Sub
txtKey_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
txtKey.TextChanged
If ComboBox1.Text = ""
Then
ComboBox1.Text = "Username"
txtKey.Focus()
End If
Call ListData()
End Sub
Private Sub
ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
txtKey.Focus()
End Sub
Private Sub Pilih()
Dim i As Integer
i = Me.DataGridView1.CurrentRow.Index
Try
With DataGridView1.Rows.Item(i)
retKode = .Cells(0).Value.ToString
retUser = .Cells(1).Value.ToString
retPass = .Cells(2).Value.ToString
retStat = .Cells(3).Value.ToString
End With
Me.Close()
Catch ex As Exception
MsgBox("Pilih Salah Satu Data",
MsgBoxStyle.Critical)
End Try
End Sub
Private Sub
DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs)
Handles DataGridView1.CellContentClick
Call Pilih()
End Sub
Private Sub
DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewRowPostPaintEventArgs)
Handles DataGridView1.RowPostPaint
Dim dg As DataGridView = DirectCast(sender,
DataGridView)
Dim rowNumber As String = (e.RowIndex + 1).ToString()
While rowNumber.Length <
dg.RowCount.ToString().Length
rowNumber = "0" &
rowNumber
End While
Dim size As SizeF = e.Graphics.MeasureString(rowNumber, Me.Font)
If dg.RowHeadersWidth < CInt(size.Width
+ 20) Then
dg.RowHeadersWidth = CInt(size.Width +
20)
End If
Dim b As Brush = SystemBrushes.ControlText
e.Graphics.DrawString(rowNumber, dg.Font, b, e.RowBounds.Location.X +
15, _
e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2))
End Sub
Private Sub
BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnKeluar.Click
Me.Close()
End Sub
End Class
Step 3 : Membuat Header Field Column ( Judul Kolom ) DataGridView 1
Untuk
merubah Header Field Columns (Judul Kolom, ex : Kode, Username, Password,
Status) pada DataGridView 1 langkah - langkahnya seperti pada gambar berikut :
Setelah
dilakukan langkah No. 3 (Klik Add Columns), lalu akan tampil menu Add Column.
(langkah ini
dilakukan untuk merubah judul header setiap kolom DataGridView 1) .
Klik Add
pada menu Add Column, lalu akan muncul Edit Columns untuk ubah judul kolom
DataGridView 1 (langkah ini dilakukan untuk merubah judul header setiap kolom
DataGridView 1) .
Penjelasan :
1. Header Text (Colum1) diedit lalu isi
dengan “Kode” (sesuai judul header yang diinginkan)
2. Data Property Name diisi sesuai field
Name Database yang terdapat pada tabel “Pengguna”
3. Setelah selesai edit header perkolom
klik ok
Selanjutnya
kembali pada Form User, lalu klik 2X pada Button Cari. Ketikan kode dibawah berikut
pada object Button Cari, Kode ini untuk mengambil nilai DataGridView 1 pada
Form Tabel Data User.
Private Sub
BtnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BtnCari.Click
Dim Tabel As New TabelUser
Tabel.ShowDialog()
Call status()
If Tabel.retKode <> ""
Then
LblKdUser.Text = Tabel.retKode
TxtNm_User.Text = Tabel.retUser
TxtKunci.Text = Tabel.retPass
CbStatus.Text = Tabel.retStat
Call bisaisi()
Call buttonEdit()
End If
End Sub
Sampai
disini semua tahapan yang dilakukan sudah selesai, jalankan aplikasi yang sudah
dibuat.
Lalu klik
tombol cari pada form user untuk memanggil form tabel data user. Setelah tampil
form tabel data user, lalu Double Klik Baris DataGridView 1 (Baris warna
kuning) untuk mengisi nilai DataGridView 1 kedalam form user.
Tutorial bisa diDownload Disini
gan..ini kan pake vb.. kalo pake asp.net gmana ya gan? soalnya kasus yang saya buat menggunakan asp.net..terima kasih
ReplyDeletebalas..
Mohon maaf gan, saya tidak mendalami bahasa pemrograman ASP. Net. tapi paling tidak logika yang dipakai sama. terima kasih telah berkunjung.
Deletekeren,mas punya email ggak? bls
ReplyDelete