Cara Simpan Baris atau Row Listview Ke Database | Visual Basic 6.0
https://carakuvb6.blogspot.com/2017/12/cara-simpan-baris-atau-row-listview-ke.html
Pada tutorial kali ini admin akan share source code tentang simpan baris atau row listiview ke database. Untuk database yang admin gunakan Microsoft Access 2000 dan beberapa komponen pendukung seperti
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.
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.
Buka Microsoft Visual Basic 6.0 - standartEXE - form, kemudian desainlah form dan komponen-komponen pendukungnya kurang lebih seperti tampilan gambar diatas. Double klik pada form kemudian deklarasikan beberapa variabel dibawah ini pada posisi prosedur (GENERAL)
Dim CN As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim lst As MSComctlLib.ListItem
Dim CN As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim lst As MSComctlLib.ListItem
Pada prosedur Form_Load copikan coding Koneksi ke database dan pembuatan ColumnHeader pada listiview dibawah ini
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 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
Dilanjutkan double klik pada tombol Add to Cart dan copykan coding dibawah ini yang berfungsi untuk simpan data ke baris atau row listview
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 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
Dan yang berikutnya pada Tombol Save to Database copikan codibng dibawah ini yang berfungsi simpan baris atau row pada listview ke database
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
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
Setelah dirasa cukup dan selesai simpan project diatas kemudian RUN/F5 inputkan satu persatu data dengan mengklik tombol Add to Cart sampai beberapa baris atau row kemudian klik tombol Save to Database. Maka data pada baris atau row listview akan tersimpan seluruhnya ke dalam database. Untuk lebih detailnya source code ini bisa didownload di LINK INI dan semoga bermanfaat
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