Blok Seluruh Cell Listview dengan Keyboard (Shoot Key) dengan Visual Basic 6.0
https://carakuvb6.blogspot.com/2017/11/blok-seluruh-cell-listview-dengan.html
Terkadang dalam blok suatu file/cell kita lebih suka menggunakan cara cepat dengan shootkey ctrl + A dengan begitu semuanya akan terblok dan memudahkan kita untuk copy atau hapus sekaligus. Kali ini admin akan mencoba metode tersebut pada komponen ListView Visual Basic 6.0 (VB6)
Buatlah terlebih dahulu database (disini admin menggunakan database Ms. Access 2000) dengan nama database DbMHS dan tabel ANggota
Inputkan beberapa Record untuk menampilkan data pada lisview Visual Basic 6.0 (VB6), kemudian buka Ms. Visual Basic 6.0 - StandartEXE dan buatlah form dan tambahkan komponen Listview dengan menekan tombol keyboard ctrl + T, kotak dialog komponen pun tampil cari dan ceklist komponen Microsoft Windows Common Controls 6.0 (SP6).
Klik kanan pada komponen Listview yang telah masuk ke dalam form dengan menceklis MultiSelect dan FullRowSelect kemudian OK
Buat module untuk menampung variable dan function koneksi ke database :
Public CN As New ADODB.Connection
Public xRsMHS As New ADODB.Recordset
Sub KoneksiDatabase()
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DbMHS.mdb" & ";Persist Security Info=False"
CN.CursorLocation = adUseClient
End Sub
Selanjutnya baru kita buat function untuk menampilkan data ke Listview
Sub TampilListView()
Dim LI As ListItem
ListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.View = lvwReport
ListView1.ColumnHeaders.Add , , "Tanggal", 1300
ListView1.ColumnHeaders.Add , , "NIS", 1300
ListView1.ColumnHeaders.Add , , "Nama", 3000
ListView1.ColumnHeaders.Add , , "HP", 1300
ListView1.ListItems.Clear
ListView1.View = lvwReport
ListView1.Sorted = False
Set xRsMHS = New ADODB.Recordset
xRsMHS.Open "select * from ANGGOTA", CN, 1, 3
If xRsMHS.RecordCount = 0 Then
Me.ListView1.ListItems.Clear
Else
xRsMHS.MoveFirst
While Not xRsMHS.EOF
Set LI = ListView1.ListItems.Add(, , xRsMHS.Fields!TGL)
LI.SubItems(1) = xRsMHS.Fields!NIS
LI.SubItems(2) = xRsMHS.Fields!NAMA
LI.SubItems(3) = xRsMHS.Fields!HP
xRsMHS.MoveNext
Wend
End If
End Sub
Public CN As New ADODB.Connection
Public xRsMHS As New ADODB.Recordset
Sub KoneksiDatabase()
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DbMHS.mdb" & ";Persist Security Info=False"
CN.CursorLocation = adUseClient
End Sub
Selanjutnya baru kita buat function untuk menampilkan data ke Listview
Sub TampilListView()
Dim LI As ListItem
ListView1.ColumnHeaders.Clear
ListView1.ListItems.Clear
ListView1.View = lvwReport
ListView1.ColumnHeaders.Add , , "Tanggal", 1300
ListView1.ColumnHeaders.Add , , "NIS", 1300
ListView1.ColumnHeaders.Add , , "Nama", 3000
ListView1.ColumnHeaders.Add , , "HP", 1300
ListView1.ListItems.Clear
ListView1.View = lvwReport
ListView1.Sorted = False
Set xRsMHS = New ADODB.Recordset
xRsMHS.Open "select * from ANGGOTA", CN, 1, 3
If xRsMHS.RecordCount = 0 Then
Me.ListView1.ListItems.Clear
Else
xRsMHS.MoveFirst
While Not xRsMHS.EOF
Set LI = ListView1.ListItems.Add(, , xRsMHS.Fields!TGL)
LI.SubItems(1) = xRsMHS.Fields!NIS
LI.SubItems(2) = xRsMHS.Fields!NAMA
LI.SubItems(3) = xRsMHS.Fields!HP
xRsMHS.MoveNext
Wend
End If
End Sub
Untuk mengaktifkan ShootKey jika kita tekan ctrl + A maka Cell semua di Listview akan tampil, Klik pada Listview dan pilih prosedur KeyDown kemudian pastekan syntak dibawah ini :
If Shift = vbCtrlMask And KeyCode = vbKeyA Then
Dim x As Long
For x = ListView1.ListItems.Count To 1 Step -1
ListView1.ListItems.Item(x).Selected = True
Next x
End If
If Shift = vbCtrlMask And KeyCode = vbKeyA Then
Dim x As Long
For x = ListView1.ListItems.Count To 1 Step -1
ListView1.ListItems.Item(x).Selected = True
Next x
End If
Sekarang coba kita tambahkan Tombol Hapus, jika diklik tombol hapus maka akan menghapus seluruh data yang terblok saja dengan metode penghapusan data berdasarkan dengan NIM. Copy sintak dibawah ini
Dim i As Long
For i = ListView1.ListItems.Count To 1 Step -1
If ListView1.ListItems(i).Selected Then
CN.Execute "delete from ANGGOTA where NIS='" & ListView1.ListItems(i).ListSubItems(1) & "'"
ListView1.ListItems.Remove ListView1.ListItems(i).Index
End If
Next i
Dim i As Long
For i = ListView1.ListItems.Count To 1 Step -1
If ListView1.ListItems(i).Selected Then
CN.Execute "delete from ANGGOTA where NIS='" & ListView1.ListItems(i).ListSubItems(1) & "'"
ListView1.ListItems.Remove ListView1.ListItems(i).Index
End If
Next i
Double klik pada form dan panggil prosedur koneksi database dan menampilkan data pada Listview kemudian Simpan dan jalankan/F5 cukup mudah bukan !!
LINK DOWNLOAD
Perhatian !!
- Berkomentarlah dengan menggunakan bahasa yang baik dan sopan dan sesuai topik pembahasan
- Dilarang menjadikan referensi artikel web ini tanpa menyertakan sumbernya