Setelah dapat menampilkan data di datagrid dan membuat filter dengan keyword, sekarang kita akan mencoba ke pengolahan data (CRUD) dengan Visual Basic 6 dan database Ms Access. Dimulai dengan menginput data baru.
Ubah UI dari artikel sebelumnya, dan atur menjadi sebagai berikut:
Untuk code, kita mulai dengan yang paling sederhana yaitu pada tombol Cancel dan Exit.
Private Sub cmdCancel_Click()
Load_Data
txtCode.Text = ""
txtName.Text = ""
End Sub
Private Sub cmdExit_Click()
Unload Me
End Sub
Kemudian kita buat sub procedure untuk mengeksekusi query SQL.
Sub RunQuery(sSQL As String)
Dim cmd As New ADODB.Command
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = strConn
.CommandType = adCmdText
.CommandText = sSQL
.Execute
End With
Set cmd = Nothing
End Sub
Code untuk input data baru akan kita buat di dalam event cmdSave_Click.
Private Sub cmdSave_Click()
On Error GoTo errHandler
'Validasi input data
If txtCode.Text = "" Then MsgBox "Kode belum diisi": Exit Sub
If txtName.Text = "" Then MsgBox "Nama belum diisi": Exit Sub
'query insert ke database
RunQuery "INSERT INTO category " & _
"(categorycode, categoryname) VALUES " & _
"('" & txtCode.Text & "', " & _
"'" & txtName.Text & "')"
'pesan konfirmasi input berhasil
MsgBox "Data baru telah ditambahkan"
'membersihkan control input
cmdCancel_Click
Exit Sub
errHandler:
MsgBox Err.Number & ":" & Err.Description
End Sub
Saat runtime, kita coba masukan kode dan nama kategori kemudian klik tombol Save.
Jika proses penyimpanan data berhasil akan keluar pesan sebagai berikut:
Data baru pun akan ditampilkan di datagrid.
Lanjut ke Edit/Update data.
Click here if you like this article.
6 Comments
Penampungan data sementara:
http://rani-irsan.blogspot.co.id/2017/01/vb6-temporary-recordset.html
Untuk menginsert data, di artikel ini.
Kemudian tinggal pakai looping, diinsert data nya:
contoh:
rsTemp.MoveFirst
For i = 0 To rsTemp.RecordCount - 1
RunQuery "INSERT INTO category " & _
"(categorycode, categoryname) VALUES " & _
"('" & rsTemp.Fields(0).Value & "', " & _
"'" & rsTemp.Fields(1).Value & "')"
rsTemp.MoveNext
Next
Referensi loop:
http://rani-irsan.blogspot.co.id/2014/07/vb6-struktur-kode-perulangan-loop.html
Contoh insert rsTemp pada csv:http://rani-irsan.blogspot.co.id/2015/06/vb6-ms-access-import-dari-csv-file-part_72.html
Silahkan dipahami setiap code gimana cara kerja nya. Klo masih bingung, di bagian mana nya silahkan ditanyakan.