27 January 2016


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:

hijram mahjura said...

permisi mbak mau tanya saya ingin menampung data sementara dari textbox ke dalam datagrid sebelum menyimpannya kedalam database, gmn contoh kodingnya sekalian insertnya trims

rani irsan said...

@hijram: coba cek disini http://rani-irsan.blogspot.co.id/2017/01/vb6-temporary-recordset.html

hijram mahjura said...

ok tengkiu tapi insertnya beda ya sama insert yg textbox, jadi gmn ya?

rani irsan said...

beda gimana? itu kan pake textbox

hijram mahjura said...

http://rani-irsan.blogspot.co.id/2017/01/vb6-temporary-recordset.html , maunya yg di save semua data yg telah masuk di datagrid kodingnya gmn mbk ? kyknya beda ya koding yg insert textbox ?

rani irsan said...

sebenernya modal buat bikin nya udah ada, tinggal dipahami dan diimplementasikan sesuai kebutuhan.
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.