VB6 Ms Access: Pengolahan Data, Input Data Baru


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.


Post a Comment

6 Comments

yohimato reload 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
yohimato reload said…
ok tengkiu tapi insertnya beda ya sama insert yg textbox, jadi gmn ya?
rani said…
beda gimana? itu kan pake textbox
yohimato reload 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 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.