Simpan, EDIT, dan HAPUS Data MySQL dan VB 6.0
Pada pembahasan pembuatan program kali ini kita bahas tentang pembuatan SIMPAN, EDIT, dan HAPUS data dari Pemrograman VB 6.0 ke dalam database MySQL. Pada pokok bahasan sebelumnya saya sudah pernah membahas mengenai Koneksi dengan MySQL melalui pemrograman VB 6.0 dan juga menampilkan data ke dalam komponen Datagrid. Nah..., pada pokok bahasan ini kita akan membahas proses CRUD data yaitu (SIMPAN, EDIT, dan HAPUS) data.
Buat Projek baru
Buat projek baru dengan pilihan Type Projek adalah "VB Enterprise Edition Control" dan beri nama projek Anda dengan nama "PRO_CRUD".
Buat Desain Form
Berinama Form1 Anda menjadi "FRM_CRUD". Buat desain form tersebut seperti gambar di bawah ini :
Pengaturan Properties
Aturlah properties desain form tersebut di atas seperti Tabel di bawah ini :
Objek
|
Properties
|
Nilai
Properties
|
Form
|
Name
Border Style
Caption
Font
|
Form1
1 – Fixed Single
SIMPAN, EDIT dan HAPUS Data
Tahoma, Size 9
|
Frame
|
Name
Caption
|
Frame1
INPUT DATA
|
Label1
|
Name
Caption
|
Label1
SIMPAN, EDIT dan HAPUS Data
|
Label2
|
Name
Caption
|
Label2
Kode Barang
|
Label3
|
Name
Caption
|
Label3
Nama Barang
|
Label4
|
Name
Caption
|
Label4
Stok
|
Command1
|
Name
Caption
|
Command1
SIMPAN
|
Command2
|
Name
Caption
|
Command2
EDIT
|
Command3
|
Name
Caption
|
Command3
HAPUS
|
Command4
|
Name
Caption
|
Command4
KELUAR
|
DataGird
|
Name
|
DataGrid1
|
Buat Kode Program
Tuliskan kode program di bawah ini ke dalam jendela kode program, berikut ini kode program lengkapnya:
Dim Koneksi As New ADODB.Connection
Dim TbProduk As New ADODB.Recordset
Private Sub BukaKoneksi()
Set Koneksi = Nothing
Set Koneksi = New ADODB.Connection
Koneksi.Open "DSN=DB_LATIHAN"
End Sub
''PENGATURAN PADA TOMBOL SIMPAN
''APABILA KODE BARANG SUDAH PERNAH TERSIMPAN, MAKA AKAN MUNCUL KOTAK PESAN
''DAN PROSES SIMPAN AKAN DIBATALKAN, DAN KURSOR KEMBALI KE TEXTBOX1
''--------------------------------------------------------------------------
Private Sub Command1_Click()
If Command1.Caption = "SIMPAN" Then
If Text1.Text = "" Then
MsgBox "KODE BARANG MASIH KOSONG", vbCritical + vbOKOnly, "Kosong"
Text1.SetFocus
Else
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
'' Melakukan pencarian data di tabel
'' Mencocokkan isian di Textbox Kode, Apakah sudah pernah ada di Tabel atau belum
''----------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & Text1.Text & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
'' Jika Data Kode ditemukan di Tabel
''-------------------------------------
If Not TbProduk.EOF Then
MsgBox "Data Kode Barang [ " & Text1.Text & " ] Sudah ada di Tabel", vbInformation + vbOKOnly, "Informasi"
Text1.SetFocus
Else
Koneksi.Execute "INSERT INTO tb_latihan(kode,nabar,stok) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
End If
End If
Else
Koneksi.Execute "UPDATE tb_latihan SET nabar='" & Text2.Text & "', stok='" & Text3.Text & "' WHERE kode='" & Text1.Text & "'"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
MsgBox "DATA TELAH DIUPDATE", vbInformation, "SUKSES"
Command1.Caption = "SIMPAN"
End If
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.Enabled = True
Text1.SetFocus
End Sub
''PENGATURAN PADA TOMBOL EDIT
''MEMUNCULKAN KOTAK ISIAN KODE BARANG YANG AKAN DI EDIT,
''APABILA DITEMUKAN DATA AKAN DITAMPILKAN KE DALAM KOTAK ISIAN,
''TEXTBOX KODE AKAN DIKUNCI, SEHINGGA TIDAK BISA DIUBAH
''YANG BISA DIUBAH HANYA NAMA BARANG, DAN STOK
''-------------------------------------------------------------------
Private Sub Command2_Click()
Dim x As String
Command1.Caption = "UPDATE"
x = InputBox("MASUKKAN KODE YANG AKAN ANDA EDIT!", "INPUT KODE BARANG")
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
''Melakukan pencarian data berdasarkan Kode Barang yang diisikan di Kotak isian
''menampung sementara ke Variabel x, yang akan diambil dalam perintah queri
''------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & x & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not TbProduk.EOF Then
Text1.Enabled = False
Text1.Text = TbProduk.Fields("kode")
Text2.Text = TbProduk.Fields("nabar")
Text3.Text = TbProduk.Fields("stok")
Text2.SetFocus
Else
MsgBox "MAAF, KODE BARANG TIDAK DITEMUKAN DI DALAM TABEL", vbInformation + vbOKOnly, "TIDAK KETEMU"
Exit Sub
End If
End Sub
Private Sub Command3_Click()
Dim x As String
x = InputBox("MASUKKAN KODE YANG AKAN ANDA HAPUS!", "HAPUS KODE BARANG")
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
''Melakukan pencarian data berdasarkan Kode Barang yang diisikan di Kotak isian
''menampung sementara ke Variabel x, yang akan diambil dalam perintah queri
''------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & x & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not TbProduk.EOF Then
If MsgBox("APAKAH ANDA YAKIN AKAN MENGHAPUS DATA [ " & x & " ] TERSEBUT?", vbQuestion + vbYesNo, "HAPUS DATA") = vbYes Then
Koneksi.Execute "DELETE FROM tb_latihan WHERE kode = '" & x & "'"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
MsgBox "DATA KODE BARANG [ " & x & " ] TELAH DI HAPUS", vbInformation, "HAPUS"
Text1.Enabled = True
Text1.SetFocus
Else
Text1.Enabled = True
Text1.SetFocus
Exit Sub
End If
Else
MsgBox "MAAF, KODE BARANG TIDAK DITEMUKAN DI DALAM TABEL", vbInformation + vbOKOnly, "TIDAK KETEMU"
Exit Sub
End If
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Activate()
Text1.SetFocus
End Sub
Private Sub Form_Load()
Call BukaKoneksi
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
End Sub
''PENGISIAN TEXTBOX KODE HARUS DENGAN ANGKA
''APABILA TIDAK ANGKA, MAKA KELUAR KOTAK PESAN
''--------------------------------------------------------
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn) Then
MsgBox "SILAHKAN MASUKKAN ANGKA", vbInformation, "Harus Angka"
KeyAscii = 0
End If
End Sub
Dim TbProduk As New ADODB.Recordset
Private Sub BukaKoneksi()
Set Koneksi = Nothing
Set Koneksi = New ADODB.Connection
Koneksi.Open "DSN=DB_LATIHAN"
End Sub
''PENGATURAN PADA TOMBOL SIMPAN
''APABILA KODE BARANG SUDAH PERNAH TERSIMPAN, MAKA AKAN MUNCUL KOTAK PESAN
''DAN PROSES SIMPAN AKAN DIBATALKAN, DAN KURSOR KEMBALI KE TEXTBOX1
''--------------------------------------------------------------------------
Private Sub Command1_Click()
If Command1.Caption = "SIMPAN" Then
If Text1.Text = "" Then
MsgBox "KODE BARANG MASIH KOSONG", vbCritical + vbOKOnly, "Kosong"
Text1.SetFocus
Else
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
'' Melakukan pencarian data di tabel
'' Mencocokkan isian di Textbox Kode, Apakah sudah pernah ada di Tabel atau belum
''----------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & Text1.Text & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
'' Jika Data Kode ditemukan di Tabel
''-------------------------------------
If Not TbProduk.EOF Then
MsgBox "Data Kode Barang [ " & Text1.Text & " ] Sudah ada di Tabel", vbInformation + vbOKOnly, "Informasi"
Text1.SetFocus
Else
Koneksi.Execute "INSERT INTO tb_latihan(kode,nabar,stok) VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "')"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
End If
End If
Else
Koneksi.Execute "UPDATE tb_latihan SET nabar='" & Text2.Text & "', stok='" & Text3.Text & "' WHERE kode='" & Text1.Text & "'"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
MsgBox "DATA TELAH DIUPDATE", vbInformation, "SUKSES"
Command1.Caption = "SIMPAN"
End If
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.Enabled = True
Text1.SetFocus
End Sub
''PENGATURAN PADA TOMBOL EDIT
''MEMUNCULKAN KOTAK ISIAN KODE BARANG YANG AKAN DI EDIT,
''APABILA DITEMUKAN DATA AKAN DITAMPILKAN KE DALAM KOTAK ISIAN,
''TEXTBOX KODE AKAN DIKUNCI, SEHINGGA TIDAK BISA DIUBAH
''YANG BISA DIUBAH HANYA NAMA BARANG, DAN STOK
''-------------------------------------------------------------------
Private Sub Command2_Click()
Dim x As String
Command1.Caption = "UPDATE"
x = InputBox("MASUKKAN KODE YANG AKAN ANDA EDIT!", "INPUT KODE BARANG")
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
''Melakukan pencarian data berdasarkan Kode Barang yang diisikan di Kotak isian
''menampung sementara ke Variabel x, yang akan diambil dalam perintah queri
''------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & x & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not TbProduk.EOF Then
Text1.Enabled = False
Text1.Text = TbProduk.Fields("kode")
Text2.Text = TbProduk.Fields("nabar")
Text3.Text = TbProduk.Fields("stok")
Text2.SetFocus
Else
MsgBox "MAAF, KODE BARANG TIDAK DITEMUKAN DI DALAM TABEL", vbInformation + vbOKOnly, "TIDAK KETEMU"
Exit Sub
End If
End Sub
Private Sub Command3_Click()
Dim x As String
x = InputBox("MASUKKAN KODE YANG AKAN ANDA HAPUS!", "HAPUS KODE BARANG")
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
''Melakukan pencarian data berdasarkan Kode Barang yang diisikan di Kotak isian
''menampung sementara ke Variabel x, yang akan diambil dalam perintah queri
''------------------------------------------------------------------------------
TbProduk.Open "SELECT * FROM tb_latihan WHERE kode='" & x & "'", Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not TbProduk.EOF Then
If MsgBox("APAKAH ANDA YAKIN AKAN MENGHAPUS DATA [ " & x & " ] TERSEBUT?", vbQuestion + vbYesNo, "HAPUS DATA") = vbYes Then
Koneksi.Execute "DELETE FROM tb_latihan WHERE kode = '" & x & "'"
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
MsgBox "DATA KODE BARANG [ " & x & " ] TELAH DI HAPUS", vbInformation, "HAPUS"
Text1.Enabled = True
Text1.SetFocus
Else
Text1.Enabled = True
Text1.SetFocus
Exit Sub
End If
Else
MsgBox "MAAF, KODE BARANG TIDAK DITEMUKAN DI DALAM TABEL", vbInformation + vbOKOnly, "TIDAK KETEMU"
Exit Sub
End If
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub Form_Activate()
Text1.SetFocus
End Sub
Private Sub Form_Load()
Call BukaKoneksi
Set TbProduk = Nothing
Set TbProduk = New ADODB.Recordset
TbProduk.CursorLocation = adUseClient
TbProduk.Open "SELECT kode as kode_barang,nabar as nama_barang,stok as stok FROM tb_latihan ORDER BY kode ASC", Koneksi, adOpenDynamic, adLockBatchOptimistic
Set DataGrid1.DataSource = TbProduk.DataSource
End Sub
''PENGISIAN TEXTBOX KODE HARUS DENGAN ANGKA
''APABILA TIDAK ANGKA, MAKA KELUAR KOTAK PESAN
''--------------------------------------------------------
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or _
KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn) Then
MsgBox "SILAHKAN MASUKKAN ANGKA", vbInformation, "Harus Angka"
KeyAscii = 0
End If
End Sub
No comments:
Post a Comment