VB : List Box Interaktif


Ketika aku membutuhkan daftar/list dari suatu data dalam sebuah tabel, maka akan lebih mudah menggunakan DataList. Memang, DataList bukan komponen standar visual basic, tapi dapat dimunculkan dengan malakukan langkah berikut :

  • Klik Project >> Klik Components >> Klik Microsoft DataList Control 6.0
  • Ubah properti RowSource dan
  • Ubah properti ListField

Hanya saja, aku belum merasa cukup terbantu dengan DataList ini. Sebab, list data yang aku inginkan tidak seluruhnya, melainkan data dengan kriteria tertentu. Sehingga, muncul lah ide untuk membuat List Box Interaktif ini.

Sebagai contoh, aku membuat sample data mahasiswa sebagai berikut dan aku simpan kedalam tabel “TMhs”. Kemudian koneksi tabel dan form aku gunakan komponen Adodc.

TMhs

NIM

NAMA

JURUSAN

SCUTI

10109144

Rendi

IF

Yes

10507127

Satya

MI

No

10109113

Burhan

IF

Yes

10106152

Joko

IF

Yes

10509165

Sefty

MI

No

10508142

Viona

MI

No

Langkah selanjutnya, aku buat desain form seperti ini, dengan tanpa mengubah properti name pada setiap komponen.

Setelah desain dinilai cukup, aku lanjutkan dengan beberapa baris source code berikt ini ;

’====================================
’copyright by abighazy@gmail.com 2008
’====================================
Private Sub Form_Load()
Form1.Caption = “Membuat Data Combo Interaktif”
End Sub
Private Sub Command1_Click()
With Adodc1
.CommandType = adCmdTable
.RecordSource = “TMhs”
.Refresh
End With
End Sub
Private Sub Option1_Click()
If Option1.Value = True Then
Sql = “Select NIM From TMhs”
Interaktif (Sql)
End If
End Sub
Private Sub Option2_Click()
If Option2.Value = True Then
Sql = “Select NIM From TMhs Where SCUTI=’Yes’”
Interaktif (Sql)
End If
End Sub
Private Sub Option3_Click()
If Option3.Value = True Then
Sql = “Select NIM From TMhs Where SCUTI=’No’”
Interaktif (Sql)
End If
End Sub
Function Interaktif(iSql As String)
Dim JData, i As Byte
With Adodc1
.CommandType = adCmdText
.RecordSource = “”
.RecordSource = iSql
.Refresh
JData = .Recordset.RecordCount
End With
List1.Clear
Adodc1.Recordset.MoveFirst
For i = 1 To JData
List1.AddItem Adodc1.Recordset.Fields(0).Value
Adodc1.Recordset.MoveNext
Next i
End Function

Hasilnya, kurang lebih seperti gambar ini ;

@gambar2

Buat teman-teman yang punya masalah yang sama, silahkan mencoba.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s