Cara Simpan Baris atau Row Listview Ke Database | Visual Basic 6.0

1. Listview
2. Label
3. TextBox
4. CommandButton
Langsung saja masuk ke pokok pembahasan. Untuk beberapa data yang diinputkan dengan mengkilik tombol Add to Cart data tersebut tersimpan pada baris atau row listiview bersifat array dan belum masuk ke database, ketika penginputan data dirasa telah selesai klik tombol Save to Database baru seluruh data-data yang terdapat pada baris atau row listview tersimpan semuanya ke dalam database dengan metode coding looping ditandai dengan pesan data tersimpan sukses.
Dim CN As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim lst As MSComctlLib.ListItem
Private Sub Form_Load()
With lvProduct
.ListItems.Clear
.ColumnHeaders.Clear
.ColumnHeaders.Add , , "PCode", 1500
.ColumnHeaders.Add , , "Description", 3500
.ColumnHeaders.Add , , "Price", 1500, 1
.ColumnHeaders.Add , , "Qty", 1500, 2
.ColumnHeaders.Add , , "Sub Total", 1500, 1
End With
Set CN = New ADODB.Connection
With CN
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ESS.mdb;Persist Security Info=False"
.Open
End With
End Sub
Private Sub cmdAdd_Click()
If Trim(txtPcode.Text) = "" Then
MsgBox "Tidak boleh kosong", vbCritical
Exit Sub
End If
If Trim(txtDesc.Text) = "" Then
MsgBox "Tidak boleh kosong", vbCritical
Exit Sub
End If
If Trim(txtPrice.Text) = "" Then
MsgBox "Tidak boleh kosong", vbCritical
Exit Sub
End If
If Trim(txtQty.Text) = "" Then
MsgBox "Tidak boleh kosong", vbCritical
Exit Sub
End If
If Trim(txtTotal.Text) = "" Then
MsgBox "Tidak boleh kosong", vbCritical
Exit Sub
End If
Set lst = lvProduct.ListItems.Add(, , txtPcode.Text)
lst.ListSubItems.Add , , txtDesc.Text
lst.ListSubItems.Add , , txtPrice.Text
lst.ListSubItems.Add , , txtQty.Text
lst.ListSubItems.Add , , txtTotal.Text
Dim I As Integer
Dim Total1, Total2 As Long
For I = 1 To lvProduct.ListItems.Count
Total1 = Val(lvProduct.ListItems(I).ListSubItems(4).Text)
Total2 = Val(Total2) + Val(Total1)
Next I
Label8.Caption = "Jumlah Total : " & Total2
End Sub
Private Sub cmdSave_Click()
On Error GoTo err
Dim ExcelObj As Object
Dim ExcelBook As Object
Dim ExcelSheet As Object
Dim x As Integer
For x = 1 To Me.lvProduct.ListItems.Count
Set Rs = New ADODB.Recordset
With Rs
.Open "Select * from tblSales", CN, 1, 2
.AddNew
!pcode = lvProduct.ListItems(x).Text
!pdesc = lvProduct.ListItems(x).ListSubItems(1).Text
!price = lvProduct.ListItems(x).ListSubItems(2).Text
!qty = lvProduct.ListItems(x).ListSubItems(3).Text
!total = lvProduct.ListItems(x).ListSubItems(4).Text
.Update
End With
Next
MsgBox "Data Sukses Tersimpan", vbInformation, "informasi"
Exit Sub
err:
MsgBox err.Description, vbCritical
End Sub
misalkan dalam listview ada 10 data dan kita aktifkan penggunaan checklist pada listview dan cuma ada 3 data yang kita checklist dan 3 data itulah yang akan tersimpan ke database, bagaimana caranya gan?
ReplyDeleteBisa gan jadi, intinya listview yang terceklis atau terpilih saja yang masuk tersimpan ke database,
Deletecoba agan buka di sini http://carakuvb6.blogspot.com/2017/11/blok-seluruh-cell-listview-dengan.html
dan rubah syntak delete data jadi simpan
Tanya Gan..
ReplyDeleteMisal hari ini kita mempunyai 10 data di listview dan sudah disimpan di database.. besuk kita ada data 12 di dlm listview.. dari 12 data tersebut.. 10 data kondisinya sama dgn data yg kemarin.. bagaimana caranya untuk mengupdate data yg 10 sudah ada didatabase dan menyimpan 2 data yg baru.. jika data sudah ada otomatis update dan jika data belum ada otomatis akan disimpan.. mohon pencerahannya
Kalau seperti itu, berarti ada coding update data dengan kondisi tertentu (Field Unix) sebagai filter update datanya gan, udah banyak kok contohnya di blog ini, coba agan pilah2 saja.
DeleteTerima kasih atas kunjungannya
Mau tanya, saya sedang belajar pemrograman. Saya punya form penjualan, pakai 2 tabel yakni master jual dan detail jual(pakai listview krn item jual bisa lebih dari 1). Untuk save kemasing2 tabel tidak ada kendala, tp giliran update sisa stok ditabel barang tidak bisa. Mohon bantuannya
ReplyDelete