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