Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

Belajar VB6: Menampilkan data dBase/DBF dengan Visual Basic

Posted on October 14, 2011 by Syauqi Wiryahasana

Pendahuluan

Pada tutorial kali ini, kita akan mencoba menampilkan data yang tersimpan dalam format basis data dBase (DBF) dengan aplikasi yang dibangun dengan Visual Basic 6 (VB6). Pada dasarnya, kita hanya akan menggunakan driver dBase bawaan dari Microsoft dalam VB6 yaitu Microsoft dBASE Driver.

Menampilkan data dBase/DBF dengan VB6

    • Silakan buat sebuah project baru pada VB6, tambahkan component: Microsoft Common Dialog 6.0 dan Microsoft Common Control 6.0.
    • Pada sebuah form, silakan tambahkan komponen 1 textbox dengan nama Descr, 1 ListView dengan nama ListView1, 1 button dengan nama BrowseButton dan 1 Common Dialog browser dengan nama CommonDialog
    • Buat koneksi aplikasi ke database dBase/DBF
[sourcecode language="vb"] Option Explicit Public Function GetConnectionString(ByVal mFolder As String) As String GetConnectionString = "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & mFolder End Function [/sourcecode]
    • Buat rutin ketika tombol Browse diklik, browse ke salah satu file *.dbf, membukanya, melakukan koneksi aplikasi ke database tersebut.
[sourcecode language="vb"] Private Sub BrowseButton_Click() On Error GoTo FileOpen_ClickError Dim db As ADODB.Connection Dim rs As ADODB.Recordset Dim mItem As MSComctlLib.ListItem Dim mIndex As Long Dim mValue As String Dim mFolder As String CommonDialog1.FileName = "" CommonDialog1.Filter = "dBASE Files (*.dbf)| *.dbf" CommonDialog1.InitDir = App.Path Call CommonDialog1.ShowOpen Descr.Text = CommonDialog1.FileTitle If (Len(Trim(CommonDialog1.FileName)) > 0) Then Set db = New ADODB.Connection mFolder = Replace(CommonDialog1.FileName, CommonDialog1.FileTitle, "", 1) Call db.Open(GetConnectionString(mFolder)) Set rs = New ADODB.Recordset Call rs.Open("SELECT * FROM " & Descr.Text, db, adOpenStatic, adLockReadOnly) Call ResetList Call DefineList(rs) If (rs.RecordCount > 0) Then rs.MoveFirst While Not (rs.EOF) If (IsNull(rs.Fields(0))) Then mValue = "" Else mValue = CStr(rs.Fields(0)) End If Set mItem = ListView1.ListItems.Add(1, , mValue) For mIndex = 1 To rs.Fields.Count - 1 If (IsNull(rs.Fields(mIndex))) Then mValue = "" Else mValue = CStr(rs.Fields(mIndex)) End If mItem.SubItems(mIndex) = mValue Next mIndex rs.MoveNext Wend End If Call rs.Close Set rs = Nothing Call db.Close Set db = Nothing End If Exit Sub FileOpen_ClickError: If Err.Number = cdlCancel Then Err.Clear Else MsgBox Err.Description End If End Sub [/sourcecode]
    • Buat rutin untuk menangani ketika data dalam list view didefinisikan maupun direfresh.
[sourcecode language="vb"] Private Sub ResetList() Dim mCount As Long ListView1.ListItems.Clear mCount = ListView1.ColumnHeaders.Count If (mCount > 0) Then While (mCount > 0) Call ListView1.ColumnHeaders.Remove(1) mCount = mCount - 1 Wend End If End Sub Private Sub DefineList(ByRef rs As ADODB.Recordset) Dim mCount As Long Dim mIndex As Long Dim mColumnWidth As Long mCount = rs.Fields.Count For mIndex = 0 To mCount - 1 mColumnWidth = IIf(CLng(rs.Fields(mIndex).DefinedSize) > Len(CStr(rs.Fields(mIndex).Name)), rs.Fields(mIndex).DefinedSize, Len(CStr(rs.Fields(mIndex).Name))) mColumnWidth = mColumnWidth * 150 Call ListView1.ColumnHeaders.Add(mIndex + 1, , rs.Fields(mIndex).Name, mColumnWidth) Next mIndex End Sub [/sourcecode]
  • Coba jalankan project dan buka salah satu file DBF milik anda. Contohnnya:

Penutup

Dengan konsep dan praktik diatas, kita sudah mampu melakukan koneksi ke database dBase dan menampilkan datanya ke dalam sebuah List View. Tinggal anda kembangkan untuk aplikasi yang lebih riil, dengan kemampuan CRUD dan lebih aplikatif. Selamat berkarya!
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically