Home about IT Motivation Course Sales Project About Me
Showing posts with label VB. Show all posts
Showing posts with label VB. Show all posts

Thursday, December 26, 2013

applikasi acak hadiah/ random number: VB6 - SQL 2005 - CR8

Berikut Applikasi untuk acak hadiah, biasa digunakan untuk family gathering atau sejesnisnya.
diiringi dengan musik / lagu.
environment:
  1. sqlserver 2005 di local database
  2. VB6
  3. Crystal report v8
  4. file applikasi ( source tak ada ) 
  5. koneksi ODB.
  6. file mp3 dan rename dengan nama " sajojo.mp3"
cara kerja
(1) masukkan data hadiah, urut dari terbesar ( mahal) ke yang terkecil ( murah) ke table "tbl_gift"
(2) masukkan data peserta ( acak boleh, urut boleh) ke table "tbl_user"
(3) applikasi ( file exe, rpt, mp3) simpan di drive C dan dalam folder "undian"
(4) data peserta akan diacak dan diberi nomor random lalu diurutkan di ambil 10 tertinggi ( TOP 10)
(5) data TOP 10 yang dihasilakn akan dipasangkan dengan hadiah, dari yang terendah.
(6) setelah berpasangan antara 10 peserta yang dapat dengan hadiah, maka 10 peserta tadi akan dikeluarkan dari list berikutnya. Tidak ikut diacak lagi, begitupun juga dengan 10 hadiah tadi.
(7) demikian dilakukan sampai habis
(8) ada menu reset jika ingin mulai dari awal (acak dari awal lagi)

Inti dari process random aplikasi ini adalah:
  1. penggunaan "ORDER BY NEWID()" di SQL Server 2005 untuk generate unique code !
  2. kemudian sort base on unique code tadi dan exclude data yang telah tampil
  3. newid(), hanya ada di SQL Server mulai versi 2005.


berikut table yang perlu dicreate:

CREATE TABLE IF NOT EXISTS `tbl_final` (
  `user_id` int(11) NOT NULL,
  `hadiah_id` int(11) NOT NULL,
  PRIMARY KEY (`hadiah_id`)
);



CREATE TABLE IF NOT EXISTS `tbl_gift` (
  `id_gft` int(11) DEFAULT NULL,
  `nm_gft` varchar(50) DEFAULT NULL,
  `lvl_gft` varchar(50) DEFAULT NULL
);



CREATE TABLE IF NOT EXISTS `tbl_list` (
  `name_lst` varchar(20) DEFAULT NULL,
  `gift_lst` varchar(20) DEFAULT NULL
)  ;


CREATE TABLE IF NOT EXISTS `tbl_newfinal` (
  `user_name` varchar(50) NOT NULL,
  `user_gift` varchar(50) NOT NULL
) ;

CREATE TABLE IF NOT EXISTS `tbl_user` (
  `user_id` int(11) NOT NULL,
  `user_name` varchar(50) DEFAULT NULL,
  `user_gift` varchar(20) NOT NULL
);



# untuk file silakan download disini:

connetion ODBC to MYSQL Linux error: Connection Failed: [HY000] ][MySQL][ODBC 3.51 Driver] Can't connect to MySQL server on ..

error message on ODBC:
Connection Failed: [HY000][MySQL][ODBC 3.51 Driver] Can't connect to MySQL server on '192.168.100.3'(10061)

environment:
Server: Linux + MySQL
Client: Windows 7 + VB6 + ODBC connection

Solution:
follow below steps:
(1) go to your MySQL Server:
      edit on file : /etc/MySQL/my.cnf
      changes:  bind-address = 127.0.0.1
      become to : bind-address = 0.0.0.0

(2) go to MySQL database
      Privileges:
      add user root
      host : any host or IP your PC
      password
      Global privileges: grant all table

# restart the server after finish
    

the issue due to authentification issue, only access from localhost then changes to access from others host.




Saturday, March 12, 2011

VB6: exception dari database

contoh. biar tidak lupa terus:
di gunakan misal bila hasil count > 0 akan ada message box dan
bila count <= 0 akan ada message box

---------------------------------------------------
Private Sub Command11_Click()
Dim sql As String
Dim yyn As String


sql = "select count(id)y from tabel where kolom > '2011-01-12' "
Set rs = db.Execute(sql)
yy = rs!y
If ap > "0" Then
MsgBox "lebih dari nol!"

Else
MsgBox "nol ATAU kurang !"
End If

End Sub

---------------------------------

untuk koneksi, buat di form modul:


Option Explicit
Public db As New Connection
Public rs As New Recordset
Public sql As String


Public Function Koneksi_Database() As Boolean
'On Error GoTo pesan
If db.State = adStateOpen Then
db.Close
End If

db.Open "Provider=SQLOLEDB.1;" & _
"Persist Security Info=False;" & _
"User ID=sa;" & _
"Password=passku;" & _
"Initial Catalog=databaseku;" & _
"Data Source=serverku"
db.CursorLocation = adUseClient
Koneksi_Database = True

Exit Function
'pesan:
' Koneksi_Database = False
' MsgBox "Koneksi ke server tidak berhasil !!!", 16, "ERROR"
End
End Function

Saturday, June 05, 2010

name X axis at graph / chart in vb6

berikut script untuk menampilkan chart / graph di VB6 memakai MsChart.
Point pentingnya adalah bagian label X axis, disesuaikan dengan column name di tabel.
dan tidak memakai component adodc

berikut scriptnya.

untuk membuat sumbu X: syarat utamanya adalah,
kolom yang akan menjadi sumbu X, datanya harus bukan bilangan

-------------------------
Public cn As ADODB.Connection
Public rs As ADODB.Recordset

Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Provider = "microsoft.jet.oledb.4.0"
cn.CursorLocation = adUseClient
cn.Open App.Path & "\db1.mdb"
Set rs = New ADODB.Recordset
'Untuk memanggil tabel
rs.Open "select * from grafik", cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
MSChart1.chartType = VtChChartType2dBar
Set MSChart1.DataSource = rs

End Sub
--------------------------------

Sunday, May 16, 2010

move data listview from listview1 to listview2 or opposite

berikut contoh membuat select data dari 2 buah list view.
data di pilih satu satu atau all data dan di pindah kekanan / kiri










----------------------
Private Sub cmdkanan_Click()
Dim k, t
If ListView1.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
t = ListView1.SelectedItem.Text
k = ListView1.SelectedItem.Index
ListView1.ListItems.Remove (k)
ListView1.Refresh

Set List2 = ListView2.ListItems.Add(, , t)

Cmdkiri.Enabled = True
Cmdkirisemua.Enabled = True
If ListView1.ListItems.Count = 0 Then
cmdkanan.Enabled = False
Cmdkanansemua.Enabled = False
End If
End If
Call cmdlanjut_Click
End Sub

---------------------------------------
Private Sub Cmdkanansemua_Click()
Dim i, t
If ListView1.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
For i = 1 To ListView1.ListItems.Count
t = ListView1.ListItems.Item(i)
Set List2 = ListView2.ListItems.Add(, , t)
Next i
ListView1.ListItems.Clear
cmdkanan.Enabled = False
Cmdkanansemua.Enabled = False
Cmdkiri.Enabled = True
Cmdkirisemua.Enabled = True
End If
Call cmdlanjut_Click
End Sub

------------------------------------

Private Sub Cmdkiri_Click()
Dim k, t
If ListView2.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
t = ListView2.SelectedItem.Text
k = ListView2.SelectedItem.Index
ListView2.ListItems.Remove (k)
ListView2.Refresh

Set List1 = ListView1.ListItems.Add(, , t)
cmdkanan.Enabled = True
Cmdkanansemua.Enabled = True
If ListView2.ListItems.Count = 0 Then
Cmdkiri.Enabled = False
Cmdkirisemua.Enabled = False
End If
End If
Call cmdlanjut_Click
End Sub

---------------------------------

Private Sub Cmdkirisemua_Click()
Dim i, t
If ListView2.ListItems.Count = 0 Then
MsgBox "Daftar dosen sudah habis !", vbCritical + vbOKOnly, "PERINGATAN"
Else
For i = 1 To ListView2.ListItems.Count
t = ListView2.ListItems.Item(i)
Set List1 = ListView1.ListItems.Add(, , t)
Next i
ListView2.ListItems.Clear
cmdkanan.Enabled = True
Cmdkanansemua.Enabled = True
Cmdkiri.Enabled = False
Cmdkirisemua.Enabled = False
End If
Call cmdlanjut_Click
End Sub

Thursday, May 13, 2010

penggunaan KeyAscii di VB6

berikut contoh penggunaan enter di login menu
Private Sub passwd_KeyPress(KeyAscii As Integer)
' detect when user presses "Enter" key and if so validate password
If KeyAscii = 13 Then
' this is the call on the routine that does the password checking
Call passwd_Validate(False)
End If
End Sub

LISTVIEW di VB6

bila tidak tampil di component VB6, maka harus tambahkan control "Microsoft Windows Common Control 6.0 (SP2)"

perbedaaan listview dengan datagrid al sbb (diambil dari berbagai sumber):

listview itu component yg ada dlm package Microsoft Windows Common Control (v5/v6). kalo DataGrid itu komponen ndiri (klo nda salah MS DataGrid Control). bedanya jauh...

listview : cuman bisa nge-view (namanya juga listVIEW)
datagrid : bisa berhubungan langsung dengan datasource, jadi memungkinkan untuk manipulasi data (SELECT/INSERT/UPDATE/DELETE) secara langsung via datagrid

listview :cukup indah (apalagi MSCommCtrl bawaan vb2005 : bisa modeview tiles/thumbnail kya di explorer). oia, windows explorer itu jg makae listview control, cuman dia bukan turunan class MSCommCtrl, tapi syslistview)
datagrid: tampilan biasa... kadang lebih terkesan kya halaman view table-nya MS Access. tapi cukup powerful kalo nda pengen coding banyak-banyak

listview : bisa nambah icon, bisa dikasih background
datagrid : ndak bisa

listview : agak lambat kalo data udah sampai ribuan. refresh listview bisa bikin flicker.
datagrid : nda masalah sampai data ribuan. kalo jutaan, ogut belon pernah benchmark.

listview : kerumitan pertama ada pada saat design-time yang terlihat di form cuman kotak putih mirip picturebox, nda ada visualisasi penampakan tabel yang mau dibikin. nyetting-nyetting headernya agak rumit (tapi di VB 2005, untuk kasus ini sudah dipermudah...)
datagrid : pas design-time, cukup referensikan datasource ke ADODC, trus di datagridnya tinggal klik-kanan dan retreive fields... dan ... jadilah!

listview : data yang ampil di slistview bisa di olah tanpa memakai sql script.
datagrid : karakteristiknya datagrid ini adalah recordset yang tersambung terus... jadi kalo datasourcenya di-disconnect-in, datagridnya bakal kosong lagi.


Listview menampilkan data dengan melakukan looping di tiap gridnya,
DataGrid tidak. Listview tidak dapat diedit di tiap gridnya, cuman bisa menampilkan data doank, sedangkan data grid bisa.....

keduanya dipakai sesuai keperluan.Komponen sejenis adalah truedbgrid product dari ComponentOne (berbayar).

Saturday, April 24, 2010

VB6: Cannot load control DBGrid3,license not found

ketika sebuah menu applikasi muncul error message seperti berikut:

"Cannot load control DBGrid3,license not found".

Padahal di menu lainnya dalam satu applikasi tidak dan dicoba di PC lain juga tidak.
berikut solusinya:
masukkan CD installer VB6 then search file "DBGRID.REG". Biasanya di folder: E:\COMMON\TOOLS\VB\. Kemudian double click that file

Saturday, March 06, 2010

penggunaan select between date di VB

Berikut contoh penggunaan select between date MsSQL di VB6. Misal akan digunakan untuk mencari data berdasar periode tanggal dan ditampilkan di grid.
Perhatikan penggunaan Format(DTPicker1.Value, "mm/dd/yyyy") , karena sering kali di SQL analizer jalan tapi di VB form jalan tapi salah data yg ditampilkannya

Private Sub Command5_Click()
Call BukaDatabase
Adodc3.ConnectionString = STRKoneksi
Adodc3.RecordSource = "SELECT * FROM transaksi where Tanggal between '" & Format(DTPicker1.Value, "mm/dd/yyyy") & "' and '" & Format(DTPicker2.Value, "mm/dd/yyyy") & "'"
Adodc3.Refresh
Set DataGrid1.DataSource = Adodc3
End Sub

selection formula Dtpicker at VB - CrystalReport

from CrystalReport : Any dates that are being passed to Crystal Reports must be in Crystal Reports Date format, Date(yyyy,mm,dd).

MsSQL server and Crstal report, have diffrent format data.
so please use this one:

Private Sub Command1_Click()
CrystalReport1.Connect = "ODBC;driver=SQLSERVER;" & "UID=sa;pwd=password;server=server_name;DATABASE=database_name"
CrystalReport1.ReportFileName = App.Path & "\REPORT\report111.rpt"
Qry = "{Transaksi.Tanggal} >= " & Format(DTPicker1, "\Date(yyyy,mm,dd)") & " " _
& "And {Transaksi.Tanggal} <= " & Format(DTPicker2, "\Date(yyyy,mm,dd)")
CrystalReport1.SelectionFormula = Qry
CrystalReport1.RetrieveDataFiles
CrystalReport1.WindowState = crptMaximized
CrystalReport1.Action = 1
End Sub

Sunday, February 28, 2010

ListView untuk serch dan selection di VB6

Kadang ketika membuat selection, kita memerlukan detail data lainnya. Misal ketika itemcode yang akan kita pilih, kita perlu memerlukan kolom lain semisal description, suppliername sebagai data pendukungnya. Berikut contoh penggunaan listview untuk selection dengan beberapa column sebagai detailnya.

Private Sub Form_Load()
Combo1.AddItem "NomorInduk"
Combo1.AddItem "NamaSiswa"
Combo1.AddItem "JenisKelamin"

Call Tabel_barang
Call Data_Barang
End Sub

Private Sub ListView1_DblClick()
On Error Resume Next
If FrmMenu_Utama.MnuPembelian.Enabled = False Then
If Form1.txtnoinduk.BackColor = vbWhite Then
Form1.txtnoinduk.Text = ListView1.SelectedItem
Form1.txtnmsiswa.Text = ListView1.SelectedItem.ListSubItems(1).Text
Else
Form1.txtnoinduk.Text = ListView1.SelectedItem
Form1.txtnmsiswa.Text = ListView1.SelectedItem.ListSubItems(1).Text
End If
Else
Form1.txtnoinduk.Text = ListView1.SelectedItem
Form1.txtnmsiswa.Text = ListView1.SelectedItem
End If
Unload Me
End Sub
Private Sub ListView1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
Unload Me
End If
End Sub
Sub Tabel_barang()
With ListView1
.View = lvwReport
.FullRowSelect = True
.HotTracking = True
With .ColumnHeaders
.Add , , "NomorInduk", 1500
.Add , , "NamaSiswa", 1500
.Add , , "JenisKelamin", 2500

End With
End With
End Sub

Sub Data_Barang()

Call Koneksi_Database

sql = "select nomorinduk, namasiswa,jeniskelamin from siswa"
rs.Open sql, db
If rs.EOF = False Then
ListView1.ListItems.Clear
rs.MoveFirst
Do While Not rs.EOF
Set List = ListView1.ListItems.Add(, , rs.Fields("NomorInduk"))
List.SubItems(1) = rs.Fields("NamaSiswa")
List.SubItems(2) = rs.Fields("JenisKelamin")
rs.MoveNext
Loop
End If
End Sub

beda report footer dengan page footer di Crystal Report

pasti beda tentunya
report footer biasanya untuk:
- menampilakan hasil total dari kolom diatasnya
- menampilkan fungsi terbilangnya
- lokasi tampil akan menyesuaikan dengan jumlah row data [detail] diatasnya. Bila row detail data banyak akan makin kebawah dan bila sedikit akan makin keatas.

Page Footer:
- untuk print halaman
- print catatan kaki
- selalu pada bagian bawah kertas, tidak mengikuti banyak sedikitnya row data diatasnya

Agar "Report Footer" di Crystal Report aktif maka lakukan step berikut:
- right klik "report footer" di bagaian kiri (design)
- pilih "Format Section"
- un check "Suppress [No Drill-Down]
- ok

conection ADODC dengan script

membuat conection database dengan adodb sepertinya lebih mudah dengan script keuntungannya:
- kalo applikasinya makin rumit, tak perlu setting ADODC properties one by one.
- mudah dirubah, misal ketika di copykan ke server orang lain dengan nama server dan password berbeda.

berikut contoh scriptnya bila dijadikan modul

Public Function Koneksi_Database() As Boolean
On Error GoTo Pesan
If db.State = adStateOpen Then
db.Close
End If


db.Open "Provider=SQLOLEDB.1;" & _
"Persist Security Info=False;" & _
"User ID=sa;" & _
"Password=password;" & _
"Initial Catalog=DBName;" & _
"Data Source=ServerName"
db.CursorLocation = adUseClient
Koneksi_Database = True

Exit Function
Pesan:
Koneksi_Database = False
MsgBox "Koneksi ke server tidak berhasil !!!", 16, "ERROR"
End
End Function

Membuat error handling di VB

Untuk membuat error handling di VB6. Misal tabel transaksi dengan kolom amount. harus diisi bilangan , tak boleh huruf. Agar tidak error programnya saat ada yang menginput huruf. Beri script berikut:

-On Error Go To .... di awal sub program
-dan Exit Sub
-lalu Pesan: di akhir sub program.

contoh penggunaan di button "ADD" data row

Private Sub BtnEnh6_Click()
On Error GoTo Pesan

SqlMasuk = ""
SqlMasuk = "INSERT INTO transaksi" _
& " (Tanggal,NomorInduk,NamaSiswa,JumlahRupiah)" _
& " VALUES ('" & dttanggal.Value & "','" & txtnoinduk.Text & "',
& txtjumlahrupiah.Text & "')"
db.Execute SqlMasuk, , adCmdText

Call Form_Load
Adodc3.Refresh

Exit Sub

Pesan:
MsgBox "Input harus angka ...!", 16, "ERROR"

End Sub

Fungsi Terbilang / Spell Number in bahasa di crystal report

Pada Crystal report terdapat fungsi string "ToWords" yaitu untuk spell number atau number to word. Gunanya untuk merubah angka bilangan menjadi huruf, tapi dalam english.
contoh:
UpperCase (ToWords ({@jumlah},0) + " ONLY " )
dimana @jumlah adalah: Sum ({Transaksi.Amount})
maka script diatas akan merubah hasil SUM dari tabel Transaksi , kolom Amount.
menjadi huruf dalam english, dengan suffic ONLY

Bila ingin membuat fungsi terbilang dalam bahasa Indonesia (number to text) untuk di Crystal report pakai dua file berikut:
- CruflFor.dll
- CruflBil.dll
sebelumnya register dulu dua file diatas ke c:\windows\crystal
dan cari pada bagian additional fuction di crystalreport
contoh penggunaannya, misal untuk terbilang rupiah pada lembar kwitansi

@jumlah=Sum ({Transaksi.Amount})
@format=ForTerformatFormNilai ({@jumlah})
@terbilang = AngTerbilangDekbilang ({@format}) + ' Rupiah.'

Oh ya: kolom Amount harus bertype data angka seperti: money, integer,decimal
agar bisa di SUM.

untuk dua file diatas: CruflFor.dll dan CruflBil.dll, silaken email ke ane.

Sunday, January 10, 2010

Component di VB6

karena sering lupa, dan suka pindah pindah PC, maka berikut resume componen control di VB:
- DTPicker: ada di Microsoft Windows Common Controls-2 6.0
- ADODC di : di Microsoft ADO Data control 6.0 (OLEDB)
- DataCombo (bukan Combobox) dan DataList di Microsoft DataList control 6.0 (OLEDB)
- Crystal Report di Crystal report control
- DATA dan DBGRID , ada pada VB5
bila ingin masih pake di VB6. maka harus register dbgrid32.ocx (tgl: 26/06/1998, size: 514 KB) di c:\windows\system32.exe memakai "regsvr32.exe"

Saturday, December 26, 2009

VB6 - crystal report

belajar - belajar lagi, lama tidak belajar VB. Dulu tidak bisa tapi sekarang malah lupa. Buka buka contekan lag karena si Bos minta dibikinin print Barcode label pake machine printer SATO, printer khusus barcode label yang kertas roll. Cukup sulit ternyata pake PHP-CrystalReport. PHP ke pdf bisa, tapi ternyata hasil pdf nya dianggap sebagai "image" oleh mesin SATO tadi. Garis garis barcodenya keluar, tapi tidak sebaguse bila memakai programming desktop (VB/PB).

dulu pernah bisa PHP - CrystalReport, tapi entah kemane tuh file.

bila VB6 seperti ini cara ngeprint report pake Crystalreport:

Private Sub CMD_CETAK_Click()
CrystalReport1.Connect = "ODBC;DRIVER=SQL SERVER;" & "UID=sa;PWD=password;SERVER=server;DATABASE=barcode"
CrystalReport1.WindowState = crptMaximized
CrystalReport1.RetrieveDataFiles
CrystalReport1.Action = 1
End Sub


:::kalo ada 1 databox saja maka akan seperti ini:::.

Private Sub Command1_Click()
CrystalReport1.Connect = "ODBC;DRIVER=SQL SERVER;" & "UID=sa;PWD=password;SERVER=IT-DEPT;DATABASE=vmi"
CrystalReport1.SelectionFormula = "{MBSG_TBL.MBSG_BSGRP} = '" & DataCombo1.Text & "'"
CrystalReport1.ReportFileName = App.Path & "\Rexim.rpt"
CrystalReport1.WindowState = crptMaximized
CrystalReport1.RetrieveDataFiles
CrystalReport1.Action = 1
End Sub


:::kalo ada 1 text box saja maka akan seperti ini:::.

Private Sub Command1_Click()
CrystalReport1.Connect = "ODBC;DRIVER=SQL SERVER;" & "UID=sa;PWD=password;SERVER=IT-DEPT;DATABASE=vmi"
CrystalReport1.SelectionFormula = "{MBSG_TBL.MBSG_BSGRP} = '" & txt_kode.Text & "'"
CrystalReport1.ReportFileName = App.Path & "\Rexim.rpt"
CrystalReport1.WindowState = crptMaximized
CrystalReport1.RetrieveDataFiles
CrystalReport1.Action = 1
End Sub


:::kalo digabung 1 databox dan 1 text box maka akan seperti ini:::.

Private Sub Command1_Click()
CrystalReport1.Connect = "ODBC;DRIVER=SQL SERVER;" & "UID=sa;PWD=password;SERVER=IT-DEPT;DATABASE=vmi"
CrystalReport1.SelectionFormula = "{MBSG_TBL.MBSG_BSGRP} = '" & DataCombo1.Text & "'" & " OR " & "{MBSG_TBL.MBSG_BSGRP} = '" & txt_kode.Text & "'"
CrystalReport1.ReportFileName = App.Path & "\Rexim.rpt"
CrystalReport1.WindowState = crptMaximized
CrystalReport1.RetrieveDataFiles
CrystalReport1.Action = 1
End Sub


:::kalo ada 1 databox dan 1 DTPicker maka akan seperti ini:::.

Friday, December 18, 2009

APEX True DBgrid Pro 6.0 ( OLEDB )

buat yang memerlukan component APEX True DBgrid Pro 6.0 ( OLEDB ) disini downloadnya dan crack nya bisa send email to me.

Program True DBGrid versi 6 itu produk Apex Software, bagi programmer VB khususnya program tersebut sudah sangat familiar karena dengan menggunakan program tersebut akan mempermudah kita dalam membuat input data pada aplikasi dengan model table style, Programnya sendiri untuk sekarang ini boleh dibilang langka keberadaannya karena sudah lama tidak direlease lagi. Apex Software ini merger dengan perusahaan VideoSoft yang sekarang
menjelma menjadi perusahaan dengan nama ComponentOne, dan produk True DBGrid
sendiri sudah banyak mengalami peningkatan yang sampai saat ini sudah versi 8.0. Baik versi 6 ataupun versi 8 keduanya adalah produk shareware (berlisensi) yang harus dibeli.

Produk True DBGrid sendiri cara penggunaannya harus di install terlebih dahulu sesuai dengan versi yang diminta pada contoh yang anda coba jalankan (versi 6).