Tuesday, May 8, 2012

Cara Menampilkan Database Pada Listview VB6

ini adalah Tutorial lanjutan setelah artikel sebelumnya Cara menampilkan Database pada Textbox, Baiklah langsung saja, untuk mengikuti Tutorial kali ini anda butuh membuat koneksi, lihat di Cara membuat koneksi Database ke VB6. untuk menampilkan data pada database ke Listview anda butuh listview control. pada tampilan awal VB6 control Listview belum ditampilkan cara menampilkannya adalah :



klik menu Project > Components (ctrl + T) : pilih dan centang Microsoft Windows Common Control 6.0(SP6). Drag control Listview ke form beri nama "LV" :


buka kode pada Form dan Buatlah Procedure untuk Set Listview dibawah ini.

Public Sub SetLV()
With LV
    .View = lvwReport
    .GridLines = True
    .MultiSelect = True
    .FullRowSelect = True
    .HotTracking = True
    .HoverSelection = True
    ' tambahkan kolom2 ke, , Judul,lebar,aligment
    .ColumnHeaders.Add 1, , "No", 750
    .ColumnHeaders.Add 2, , "Kode Barang", 1250
    .ColumnHeaders.Add 3, , "Nama Barang", 2500
    .ColumnHeaders.Add 4, , "Harga Beli", 1500, 1
    .ColumnHeaders.Add 5, , "Harga Jual", 1500, 1
    .ColumnHeaders.Add 6, , "Stok", 750
    .ColumnHeaders.Add 7, , "Satuan", 1000
    .Width = 9350
End With
End Sub

Penjelasan : Pulbic Sub SetLV() adalah nama procedure untuk set Listview, With LV > maksudnya dengan Control Listview (LV adalah nama Listview) jika nama listview tidak diganti berarti namanya "ListView1". kode yang berwarna kuning adalah Setting Pengaturan Listview > Untuk menambahkan Kolom-kolom pada Listview ".ColumnHeader.Add kolom ke? , ,"nama kolom", Lebar Kolom, aligmnet(kosong / 0> rata kiri, 1> rata kanan, 2> tengah. ".width" adalah lebar listview.

Selanjutnya untuk mengisi datanya ke Listview :

Public Sub TplGrid()
    Dim Lst As ListItem, nmr As Integer
    With rs
    LV.ListItems.Clear 'Bersihkan Listview
    Do While Not rs.EOF
    Set Lst = LV.ListItems.Add
    nmr = nmr + 1
    Lst.Text = nmr 'isi kolom 1 dng nmr
    Lst.SubItems(1) = rs!KodeBrg 'isi Kol 2 dng Kode Barang
    Lst.SubItems(2) = rs!NamaBrg 'kol 3 dng nma
    Lst.SubItems(3) = Format(rs!HBeli, "#,##0") 'kol 4 Hbeli
    Lst.SubItems(4) = Format(rs!Hjual, "#,##0") 'kol 5 Hjual
    Lst.SubItems(5) = rs!Stok 'kol 6 Stok
    Lst.SubItems(6) = rs!Satuan 'kol 7 satuan
    rs.MoveNext 'gerakan kursor de data berikutnya
    Loop
    End With
   
End Sub

Penjelasan : diatas adalah Procedure Tampil data ke Listview. Lst, dan nmr digunakan untuk mengisi data dan untuk menulis nomor. with rs (RS adalah Variable Recordset, saya buat di modul)  lihat Cara membuat koneksi Database ke VB6 Do while Not RS.EOF maksudnya lakukan selama kode tidak berada pada akhir data, Set Lst = LV.ListItem, adalah set variable Lst untuk Isi Listview, Lst.Text = kolom Pertama diisi dengan Nomor. Selanjutnya kolom-kolom berikutnya, diisi dengan data dari database. "rs!Kodebrg" rs nama variable Recordset dan kodebr nama field database. pada kolom 4 dan 5 berisi angka bisa diformat agar memiliki tanda pemisah.

Kode Pada FormLoad :

Private Sub Form_Load()
Call SetLV
If cn.State <> 1 Then KoneksiDB
  
rs.Open "Select * from Barang Order By KodeBrg", cn
Call TplGrid
Set rs = Nothing

End Sub

Penjelasan : Ini adalah kode pada FormLoad, call SetLV digunakan untuk memanggil procedure SetListview KoneksiDB untuk memanggil Koneksi, rs.Open adalah Perintah buka Recordset "Select * from nama tabel", cn adalah variable koneksi pada modul. call TplGrid digunakan untuk memanggil procedure mengisi data dari database ke Listview, Set rs=Nothing digunakan untuk mengosongkan Recordset. Selesai
Tampilan pada Saat dijalankan :



Tunggu Tutorial selanjutnya mengenai VB6.

Terimakasih, mohon maaf jika terdapat banyak kesalahan, semoga bermanfaat.



dsdsd

10 comments:

  1. membuat frame pindah dari entry barang ke browse data barang tersebut gimana mas . trimss

    ReplyDelete
    Replies
    1. Hi Ardesto,
      frame yang saya pakai untuk pindah dari Entry Barang ke Browse saya menggunakan SSTAB control.
      cara menampilkannya,

      klik menu Project > Components > selanjutnya cari dan centang " Microsoft Tabbed Diaolog Control 6.0 " kemudian klik OK maka SSTAB akan tampil pada ToolBox kita dan bisa langsung digunakan pada form. cara mengaturnya klik kanan SSTAB yang dibuat dan klik Properties.

      Semoga membantu.

      Delete
  2. apakah listview bisa menampilkan data gambar ?? dan apakah kita bisa menampilkan command button secara otomatis pada sub data listview kita (jd, posisi cmmand ada di setiap baris data yg tampil pada listview secara otomatis) ???

    ReplyDelete
  3. Dear Suhu /Master

    saya mohon bantuan nya case saya sebagai berikut..
    ada Datagrid master_A dan sudah saya tampilkan di from ( master ini dari database)
    Kode:
    ID MODEL NAME QUANTITY
    ----------------------------------
    01 ABC partA 2
    02 ABC partB 1
    03 ABC partC 3
    pertanyaan nya, saya punya 1Listview (ListView1), 1 Textbox (No_Proses), 1 Textbook (Qty_Request ) dan 1 Tombol (Input)

    Ketika user memasukkan input Qty_Request misal '10' maka akan masuk ke list view sbb
    ( Yang berubah adahal hasil dimana perkalian quantity * qty_request
    Kode:
    No_Process Model Name Hasil
    ------------------------------------
    P001 ABC PartA 20
    P001 ABC PartB 10
    P001 ABC PartC 30
    untuk save.. coding sudah bisa... hanya mohon bantu coding perulangan dimana didalam nya ada perkalian qty nya

    Terima kasih

    salam

    ReplyDelete
  4. gan mau minta tolong.. sy sedang iseng2 buat program multimedia untuk pembelajaran program nya sdh oke tapi ada sedikit yg saya ingin rubah.. yaitu sewaktu saya memanggil database nya untuk di tampilkan di listbox.. saya ingin hanya 10 list data saja di tampilkan dan jika saya klik commad buton (next) maka dia akan menampilkan 10 list data berikut nya.. itu caranya gimana ya gan.. sebelumnya makasih banyak

    ReplyDelete
  5. contoh programnya ada nggk biar lebih paham

    ReplyDelete
  6. kalaw mw cari stok akhir giman master, ane masing agak blom paham

    ReplyDelete
  7. Gan kalau seumpama datanya di sheet1 apakah bisa di terapin dengan kode diatas

    ReplyDelete
  8. Terus kode rs!... itu pada sub tplgrid diubah bagaimana gan jika datanya di sheet1 misalnya

    Soalnya contoh kalau di sheet1 datanya.

    Ini untuk mengisi kolomnya

    Lst.subitem(2)=sheet1.cell(i, 2)

    Trus jika ingin memberi format agar ada pemisah nilai ribuannya bagaimana naruh formatnya gan

    ReplyDelete