Mengenal ADOX
ADOX merupakan objek untuk data definition (seperti table, view, dan index). Jadi anda dapat
membuat/menangani database dengan menggunakan ADOX.
Untuk memanfaatkan ADOX dalam project anda perlu mengikut sertakannya dengan menu
Tools, References, dan memberikan tanda Check pada "Microsoft ADO Ext. 2.1 for DDL
and Security."
Membuat Database
Database pada ADOX merupakan suatu Catalog. Catalog ini harus dibuka dengan suatu
connection string. Connection string menggunakan tata cara penulisan sebagai berikut :
Provider=Microsoft.Jet.OLEDB.4.0;
Database=database file name;
Contoh :
Membuat Tabel
Anda dapat membuat suatu tabel dengan menambahkannya kedalam Collection Tables yang
terdapat pada Catalog.
Contoh :
tbl.Name = "tblPegawai"
tbl.Columns.Append "Nip", adVarWChar, 5
tblColumns(“Nip”).Attributes = adColFixed
tbl.Columns.Append "Nama", adVarWChar, 5
1
cat.Tables.Append tbl
Pada contoh diatas akan membuat sebuah Tabel baru dengan nama tblPegawai yang
memiliki dua kolom, yaitu kolom NIP (tidak boleh null) dan Nama.
Contoh :
Pada contoh diatas akan membuat kolom Nip sebagai Primary key dengan nama P_Key.
Membuat Index
Anda dapat langsung menambahkan index pada Collection Indexes ataupun dengan
membuat objek index terlebih dahulu yang kemudian ditambahkan ke Collection Indexes.
atau
Membuat foreign key untuk relation antar tabel, dan referensial integrity.
Pada model relational database, adalah sangat penting untuk membuat relation antar tabel untuk
memastikan integritas data.
Misalnya kita memiliki dua buah tabel, yaitu tblPegawai dan tblJabatan, dimana kedua tabel
tersebut berhubungan berdasarkan kolom Jabatan.
Contoh :
Contoh Kongkrit :
2
Dim tbl As ADOX.Table
'membuat index
tbl.Indexes.Append "Idx_Nama", "Nama"
tbl.Keys.Append "PegawaiJabatan", adKeyForeign, "Jabatan", "tblJabatan", "Jabatan" End
Sub
Sub Main()
Dim cfolder As String
cfolder = App.Path
If Dir(cfolder & "\Pentacom.Mdb") <> "" Then
Call CiptaCatalog(cfolder & "\PentaCom.Mdb") End
If
End Sub
Contoh :
3
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Pentacom.mdb; Jet
OLEDB:Database Password=PentaCom;"
Membuat View pada database
Untuk membuat view anda membutuhkan object command yang terdapat pada ADO.
Contoh :
Anda dapat membuat kolom Autonumber dengan menggunakan, dimana kolom harus
bertype long.
col.Properties("AutoIncrement") = True
Project VB
Sebagai contoh implementasi ini kita akan membuat suatu program Persediaan yang dibatasi
secara sederhana.
Barang
KodeBarang Text (5) PrimaryKey
Keterangan Text (30)
Satuan Text (3)
HargaJual Currency
b0 Double Saldo Awal Tahun
b1 Double Saldo Bulan Januari
4
b2 Double Dst
b3 Double
b4 Double
b5 Double
b6 Double
b7 Double
b8 Double
b9 Double
b10 Double
b11 Double
b12 Double
Pemasok
KodePemasok Text (5) PrimaryKey
Nama Text (30)
Alamat1 Text (30)
Alamat2 Text (30)
Alamat3 Text (30)
Attn Text (30)
Beli
Nomor AutoIncrement PrimaryKey
Tanggal Date
KodePemasok Text (5)
Total Currency
BeliDtl
KodeBarang Text (5)
Keterangan Text (30)
Qty Double
HargaBeli Currency
Jumlah Currency
Nomor Long
DtlId AutoIncrement PrimaryKey
5
Modul 2
Mengenal ADODC
AdoDC merupakan data control yang disediakan Visual Basic 6.0 untuk menggantikan data
control yang berbasis DAO.
Salah satu keunggulan AdoDC adalah kemampuan mengakses database Access 2000
(dengan menggunakan Microsoft.Jet.OLEDB.4.0).
Untuk memanfaatkan AdoDC, anda perlu menambahkan komponen ini kedalam project
anda dengan menu tools, components, “Microsoft ADO Data Control 6.0 (OLEDB)”.
ADODC merupakan suatu jembatan antara user interface anda dengan OLEDB.
OLEDB merupakan suatu himpunan dari Component Object Model (COM) yang
menyediakan akses secara seragam ke berbagai data yang disimpan dalam format yang
berbeda.
Kunci dari pemanfaatan ADODC adalah connection string yang menentukan jenis
provider, dan data source yang akan digunakan.
Provider=nama provider;
Data Source=nama data source;
Jet OLEDB:Database Password=password;
Contoh :
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Pentacom.mdb;Jet
OLEDB:Database Password=Pentacom;
Anda dapat juga membuat connection string dengan bantuan Properties Page yang
diaktifkan dengan klik kanan pada ADODC dan pilih properties.
6
Properti ADODC
Properti Fungsi
Align Mengatur pemerataan kontrol pada form
BOFAction Menentukan aksi yang akan dilakukan ketika pointer mencapai BOF
EOFAction Menentukan aksi yang akan dilakukan ketika pointer mencapai EOF
CommandTimeOut Menentukan jumlah detik timeout tunggu hasil eksekusi command.
CommandType Menentukan jenis recordsource, adCmdText = Sql statement, adCmdTable =
nama tabel
ConnectionTimeOut Menentukan jumlah detik timeout tunggu usaha koneksi/pembukaan ke Data
Source.
CursorLocation Menentukan lokasi Cursor, adUseClient atau adUseServer.
CursorType Menentukan jenis Cursor recordset.
adOpenStatic, suatu cursor static yang cocok jika anda bertujuan menampilkan
data. Penambahan, perubahan, penghapusan oleh user lain tidak kelihatan.
adOpenKeyset, suatu cursor keyset dimana perubahan oleh user lain akan
kelihatan, kecuali penambahan, dan record yang dihapus tidak dapat diakses, dan
efektif kalau adUseClient.
adOpenDynamic, suatu cursor dynamic yang mana penambahan, perubahan,
dan penghapusan oleh user lain akan kelihatan. Merupakan jenis cursor yang
paling boros resource dan lambat dan tidak didukung oleh Jet OLEDB.
LockType Menentukan jenis mekanisme penguncian pada sumber record yang dipakai
beberapa user.
adLockReadOnly, tidak ada penguncian yang dilakukan, karena data hanya
ReadOnly
adLockPessimistic, penguncian dilakukan sesaat data diperbaiki untuk
memastikan keberhasilan proses update. Efektif kalau adUseServer.
adLockOptimistic, penguncian dilakukan pada saat metode Update dipanggil.
adLockBatchOptimistic, update data dilakukan setelah metode UpdateBatch
dipanggil. Pemanggilan metode Update hanya mengupdate cache lokal.
Mode Menentukan jenis modus pembukaan koneksi.
adModeUnknown, membuka secara share
adModeShareExclusive, membuka koneksi secara Exclusive.
RecordSource Nama table (adCmdTable), SQL statement (adCmdText)
7
Catatan :
Pemakaian CursorLocation akan mempengaruhi perfomance dari recordset, dan
efektifitas dari jenis cursor recordset. Contoh berdasarkan hasil percobaan, ternyata efek
adOpenKeyset, dan adLockPessimistic akan efektif kalau digunakan adUseServer.
Pemakaian CursorLocation dan CursorType sangat dipengaruhi jenis provider yang
digunakan.
Bound Control
Salah satu teknik pengolahan data pada VB adalah menggunakan metoda bound (ikat),
yang dapat diatur dengan property :
Project
Buatlah program entry data sederhana dengan AdoDC untuk Barang, Pemasok dan
Pelanggan.
8
Modul 3
Mengenal ADO
ADO (ActiveX Data Objects) merupakan object pengolahan data non visual, sehingga
dalam pemakaiannya anda perlu mereferensikan project anda melalui menu :
Secara umum fungsi ADO menyerupai ADODC, dimana perbedaannya adalah ADODC
adalah object visual (menampilkan recordset navigator pada form), dan menyediakan property
window pada saat design, sedangkan pengaturan koneksi dan properti ADO harus dilakukan
secara koding.
Perbedaan antara DAO dan ADO adalah Model ADO dibagi menjadi tiga object yaitu
ADO, ADOX dan JRO, sedangkan untuk semua fungsi tersebut tersedia menjadi satu
object pada DAO. Jadi dapat disimpulkan bahwa pada ADO kita cukup mereferensikan
project kita pada object yang dibutuhkan dan otomatis akan menghemat resource memori.
Pada prinsipnya ADO berlaku sebagai Data Manipulation Language, sedangkan ADOX
berlaku sebagai Data Definition Language.
Langkah awal dari pemakaian ADO adalah mendeklarasikan variabel untuk connection dan
mempersiapkan connection string, dan membuka connection.
Contoh :
9
MyConn.CursorLocation = adUseClient
MyConn.Open
Catatan : Anda dapat membuka koneksi pada suatu Sub Main, sehingga koneksi tersebut
dapat digunakan pada seluruh modul pada project anda.
Selanjutnya anda dapat menggunakan MyConn untuk menjalankan perintah SQL ataupun
membuka recordset.
Untuk melakukan navigasi pada recordset anda dapat menggunakan metoda MoveFirst,
MovePrevious, MoveNext dan MoveLast, dan Move.
Contoh :
MyRs.MovePrevious
MyRs.Move 3, adBookmarkCurrent
Untuk menambah data dapat menggunakan metoda AddNew, proses update record dan
diakhiri dengan metoda Update
Contoh :
MyRs.AddNew
MyRs(“KodeBarang”) = “PCP424GZ”
MyRs(“Keterangan”) = “PentaCom PC P4 2.4 GHz”
…
MyRs.Update
Untuk memperbaiki data pada record yang aktif dapat langsung proses update dan
diakhiri dengan metoda Update
10
Catatan : Anda dapat menggunakan metoda CancelUpdate untuk membatalkan perubahan
pada record sebelum metoda Update dilakukan.
Untuk menghapus data dapat menggunakan metoda Delete, sesaat setelah delete record
tersebut tidak dapat diakses lagi sehingga anda perlu memindahkan posisi record.
Contoh :
MyRs.Delete
MyRs.Movenext
Untuk mencari data anda dapat menggunakan metoda find yang diikuti dengan kriteria
pencarian, skip, arah pencarian, dan bookmark.
Contoh :
Anda dapat merefresh recordset dengan metoda ReQuery, dan menutup recordset dengan
metoda Close.
Contoh :
11
adReason, berisi nilai penyebab event ini dibangkitkan adRsnMoveFirst,
adRsnMoveLast, adRsnMoveNext, adRsnMovePrevious, adRsnMove or
adRsnRequery.
pError , merupakan suatu object Error yang menerangkan error yang terjadi jika nilai
adStatus adalah adStatusErrorsOccurred; selain itu tidak ada nilainya.
Memahami Command
Command merupakan suatu object yang berisi perintah yang akan dijalankan terhadap
sumber data.
Project
Buatlah Entry data untuk Tabel Barang, Pelanggan dan Pemasok secara koding ADO dan
unbound.
12
Modul 4
Membuat User Control
Suatu user control dapat dibuat dengan menu Project, Add User control, kemudian pilih user
control. Akan ditampilkan suatu form tanpa border dimana anda merancang user
kontrol anda.
6. Tutup UserControl, dan tanamkan pada form anda, perhatikan properti dan event
yang tersedia pada UserControl anda.
Mapping properti textbox ke Usercontrol, misalnya kita ingin mengakses nilai pada
textbox pada form, dalam hal ini tentu saja kita perlu membypass properti Text pada
textbox ke Usercontrol.
7. Pada menu tools, add procedure, tambahkan property Text, dan set menjadi Public
13
Text1.Text = vNewValue
PropertyChanged "Text"
End Property
Sekarang perhatikan kembali kontrol yang telah ditanam, apakah disana sudah terdapat
properti text
Anda dapat juga membuat properti ciptaan, misalnya properti DataType yang dapat terdiri
dari “Numeric”, “Text”
14
If KeyAscii = 13 Then
SendKeys "{Tab}"
KeyAscii = 0
ElseIf KeyAscii > 32 And KeyAscii < 128 Then
Select Case LCase(sDataType)
Case "numeric"
sLimit = "[0-9,.,,]"
Case "text"
sLimit = ""
End Select
If sLimit <> "" Then
If Not Chr(KeyAscii) Like sLimit Then
KeyAscii = 0
End If
End If
End If
End Sub
Anda dapat juga membuat Event yang dibangkitkan dengan efek tertentu, misalnya kita
akan membuat Event PressF1 yang akan dibangkitkan ketika pemakai menekan F1 pada
textbox.
Event PressF1()
Anda dapat juga membuat Metoda untuk kontrol anda, misalnya membuat Metoda
ToUpper untuk mengubah isi kontrol anda menjadi huruf besar.
Project
15
1. MaxLength, berfungsi membatasi panjang ketikan
2. Capital, berfungsi membuat ketikan langsung menjadi huruf bersar walaupun caps
lock dimatikan.
1. Locked
2. Enabled
16
Modul 5, Mengenal Class
Pada modul ini kita akan terfokus pada pemodelan dan pengembangan Class yang akan
digunakan pada project program Persediaan. Pada tahap ini sangat membutuhkan
kemampuan perencanaan dan perancangan.
Class merupakan suatu cetak biru dari object. Jika dibandingkan dengan Usercontrol
yang merupakan cetak biru untuk object Visual, maka class merupakan cetak biru untuk
object non Visual.
Salah satu issue dari pemanfaatan Usercontrol adalah pemakaian berulang-ulang, dan
kemudahan distribusi komponen. Demikian juga dengan pemanfaatan Class.
Pemanfaatan Class akan mengubah teknik pemrograman Procedural (pada programmer yang
terbiasa dengan lingkungan pemrogram DOS) menjadi pendekatan Object.
Pada project persediaan yang akan kita kembangkan dapat dimodelkan menjadi bagian
Interface (form-form dan report), bagian Business rule (pembelian akan menambah
persediaan, penjualan akan mengurangi persediaan, dll), bagian Data (tabel barang, tabel
pemasok, tabel pembelian, dll).
Dim rs as recordset
17
6. Tambahkan metoda untuk mencari data KodeBarang
18
Public Property Get Satuan() As Variant
Satuan = rs("Satuan")
End Property
Public Property Get UnitPrice() As Variant
UnitPrice = rs("UnitPrice")
End Property
Project
Buatlah Class untuk Pemasok, Pelanggan
19
Modul 6, Pembuatan Class Pembelian
Pada modul ini kita akan terfokus pada pemodelan dan pengembangan Class aturan bisnis untuk
Pembelian, Penjualan dan Adjustment.
Berikut ini adalah langkah-langkah untuk membuat Class aturan untuk Pembelian
1. Deklarasi variabel rs1 (untuk tabel Beli), rs2 (untuk tabel BeliDtl), dan oBarang
(untuk object Barang)
2. Lakukan koding untuk bagian Initialize, dimana akan membuka recordset dan
object Barang
3. Lakukan koding untuk bagian Terminate, dimana akan menutup recordset dan
object barang.
20
5. Lakukan koding untuk metoda CloneBeli, dimana akan mengembalikan sebuah
recordset buatan (duplikasi dari struktur recordset beli), dan berisi 1 (satu) record
hasil filter.
21
7. Lakukan koding untuk metoda Addnew, dimana akan menyimpan Pembelian baru
ke tabel beli dan belidtl.
8. Lakukan koding untuk metoda Edit, dimana akan menyimpan Pembelian hasil
perbaikan ke tabel beli dan belidtl.
22
If oBarang.CariBarang(rs2("KodeBarang")) Then
oBarang.Masuk Month(rs1("Tanggal")), -rs2("Qty")
Else
MsgBox "Kode barang tidak ada !"
Edit = False
Exit Function
End If
rs2.Delete
rs2.MoveNext
Loop
nTotal = 0
For I = 0 To rs02.RecordCount - 1
nTotal = nTotal + rs02("Amount")
Next I
rs1("Tanggal") = rs01("Tanggal")
rs1("KodePemasok") = rs01("KodePemasok")
rs1("Total") = nTotal
rs1.Update
For I = 0 To rs02.RecordCount - 1
rs2.AddNew
rs2("KodeBarang") = rs02("KodeBarang")
rs2("NamaBarang") = rs02("NamaBarang")
rs2("Qty") = rs02("Qty")
rs2("UnitPrice") = rs02("UnitPrice")
rs2("Amount") = rs02("Amount")
rs2("Nomor") = rs1("Nomor")
rs2.Update
If oBarang.CariBarang(rs2("KodeBarang")) Then
oBarang.Masuk Month(rs1("Tanggal")), rs2("Qty")
Else
MsgBox "Kode barang tidak ada !"
Edit = False
Exit Function
End If
Next I
End Function
Project
Rancanglah Class untuk Penjualan dan Adjust.
23
Modul 7
Pembuatan Entry Pembelian
Setelah mempersiapkan data dan class, maka selanjutnya kita akan bekerja dengan user
interface.
Option Explicit
Private Enum Action
None = 0
Add = 1
Edit = 2
End Enum
Dim rsBeli As New Recordset
Dim WithEvents rsBeliDtl As Recordset
Dim oBeli As New clsBeli
Dim oPemasok As New clsPemasok
Dim oBarang As New clsBarang
Dim xOldValue As String
Dim Flag As Action
24
Persiapkan General Procedure berikut :
25
End If
End Function
26
End Sub
27
Call Kunci(False, True, True, False, False, False, True)
Text1.SetFocus
End Sub
Catatan : Perhatikan koding diatas, anda tidak menemukan koding untuk penanganan
pencarian, penambahan, dan penyimpanan data ke database, karena hal tersebut telah
ditangani oleh Class yang telah kita persiapkan sebelumnya.
Project
Buatlah Entry data penjualan dan Penyesuaian.
28
Modul 8
Membuat Fasilitas Tabel Pemasok dan Barang dan Hapus Pembelian
Project
Tambahkan fasilitas hapus pembelian, penjualan dan Penyesuaian untuk user interface
anda.
29
Modul 9, Mengenal Data Environment dan Data Report
Data Environment merupakan salah satu fasilitas pengolahan data pada Visual Basic.
Fasilitas ini diperkenalkan sejak Visual Basic 6. Pada umumnya Data Environment
digunakan untuk merancang sumber data yang akan digunakan dalam pembuatan laporan yang
menggunakan Data Report.
2. Klik kanan pada Connection1 dan pilih properties. Aturlah properties seperti pada
ADODC untuk koneksi data ke Pentacom.mdb
3. Klik kanan pada Connection1 dan pilih Add Command
4. Klik kanan pada Command1, dan pilih properties. Aturlah properties sebagai
berikut :
Pada General, Datasource, pilih SQL Statement, dan ketik
1. Pada menu Project, pilih Add Data Report, dan akan menambah DataReport1
pada bagian Designer project anda.
30
2. Aturlah properti DataReport1 sebagai berikut :
Data Source = DataEnvironment1
DataMember = Command1
3. Klik kanan pada DataReport1 dan pilih Retrieve Structure, dan rancanglah report
anda seperti sebagai berikut ini :
31
Private Sub OKButton_Click()
DataEnvironment1.Connection1.ConnectionString = MyConn.ConnectionString
DataEnvironment1.Command1 txtKodeDari.Text, txtKodeSampai.Text
Me.Hide
DataReport1.Show
Unload Me
End Sub
Project
32
Modul 10
Child Command pada Data Environment
Child command pada Data Environment berguna untuk pembuatan laporan yang
berjenjang yang berasal dari dua tabel atau lebih yang berkaitan. Pada modul ini kita akan
membuat Cetak Faktur pembelian.
3. Tambahkan Child Command untuk command FakturBeli dengan klik kanan dan
Add Child Command, dan beri nama Detail
4. Aturlah sumber datanya menjadi :
33
2. Atur DataSource = DataEnvironment1, dan DataMember=FakturBeli
3. Design Faktur Pembelian anda dengan tampilan berikut
Project
Buatlah Cetak Faktur Penjualan dan Adjust.
34
Modul 11
Membuat Report dengan Group dan Grand Total
Kadang-kadang dalam laporan kita perlu membuat Group, Total dan Grand Total. Visual
Basic menyediakan fasilitas tersebut dengan membuat Command yang memiliki Group.
35
9. Tambahkan Grand Total, dengan nama Command GrandTotal
36
Membuat Form Cetak Laporan Pembelian
3. Buat Form Berikut, dengan menggunakan DTPicker yang merupakan Microsoft
Common Control-2
Project
Buatlah Cetak Perincian Pembelian, Daftar Penjualan, Perincian Penjualan, dan Perincian
Adjust.
37
Modul 12
Menampilkan Faktur ke Form
Selain digunakan untuk data report, Data Environment dapat juga digunakan untuk
menampilkan data ke form.
12. Tambahkan Child Command untuk command FakturBeli dengan klik kanan dan
Add Child Command, dan beri nama Detail
13. Aturlah sumber datanya menjadi :
38
.Columns(3).NumberFormat = "#,###.00"
.Columns(4).Width = 1500: .Columns(4).Alignment = dbgRight
.Columns(4).NumberFormat = "#,###.00"
.Columns(5).Visible = False
.Columns(6).Visible = False
End With
End Sub
Project
39
Modul 13
Mengenal TrueDbGrid
Pada visual basic 6.0 telah tersedia Microsoft DataGrid, tetapi grid bawaan ini kadangkadang
tidak memenuhi kebutuhan pemakai. Salah satu komponen Grid yang disediakan oleh pihak
ketiga (http://www.componentone.com) adalah TrueDbGrid.
Anda perlu mendownload dan menginstalasi TrueDbGrid sebelum dapat digunakan pada
project anda.
Sesaat setelah dimasukan kedalam project, pada toolbar anda akan bertambah dua kontrol
yaitu : TDBDropDown dan TDBGrid.
Pemanfaatan TDBGrid
Pemanfaatan kontrol TDBGrid tidak jauh berbeda dengan DataGrid yang pernah kita
manfaatkan sebelumnya. Berikut ini adalah contoh pemanfaatan TDBGrid :
1. Buka kembali faktur pembelian anda
2. Gantilah komponen DataGrid dengan TDBGrid untuk pengisian bagian detail
3. Aturlah properti TDBGrid1 menjadi sebagai berikut :
a. Name : DataGrid1
b. AllowAddNew : True
c. Appearance : Flat
4. Klik kanan pada Grid, dan pilih properties,
a. kemudian pada Tab Splits, pilih Split00, pada AlternatingRowStyle buat
menjadi true. (Langkah ini dibuat untuk membuat perbedaan warna antara
baris genap dan ganjil)
b. kemudian pada Tab Style Factory, pilih Even Row, pada BackColor ganti
menjadi LigthGray. (Langkah ini dibuat untuk menentukan warna untuk
baris genap)
5. Gantilah strategi Koding untuk BeforeColUpdate dan AfterColUpdate menjadi
sebagai berikut :
40
.Columns(4).Value = 1 * oBarang.HargaJual
End With
End Sub
Pemanfaatan TDBDropDown
TrueDBDropDown digunakan untuk membuat dropdown list dari suatu sumber data yang
dapat diikatkan pada salah satu kolom pada TDBGrid. Berikut ini adalah contoh
pemanfaatan TDBDropDown.
1. Tanamkan sebuah TDBDropDown pada form anda
2. Deklarasi variabel berikut pada bagian General Declaration
RsTbBarang.CursorLocation = adUseClient
RsTbBarang.Open "Select KodeBarang, NamaBarang From Barang", MyConn Set
TDBDropDown1.DataSource = RsTbBarang
TDBDropDown1.Refresh
.Columns(0).DropDown = TDBDropDown1
Project
41
Modul 14
Menampilkan data dengan TrueDbGrid
Salah satu pemakaian TrueDbGrid adalah untuk menampilkan data. Pada TrueDbGrid
tersedia berbagai keunggulan seperti Split, Filter Bar.
Menampilkan data
Berikut ini adalah contoh menampilkan data pemasok dengan TrueDbGrid :
1. Tambahkan sebuah form baru pada project anda
2. Tanamkan sebuah TDBGrid, dan sebuat AdoDC kontrol
3. Aturlah connection ADODC ke Pentacom.Mdb, dan Recordsource tabel
Pemasok, Align menjadi vbAlignBottom
4. Aturlah properti Datasource TDBGrid1 ke Adodc1
5. Klik kanan pada TDBGrid1 dan pilih Retrieve Field
6. Aturlah properti MarqueeStyle yang terdapat pada tab Splits menjadi Highlight
Row.
7. Lakukan koding untuk Event Form_Resize
42
Rs.Open "Pemasok", MyConn
Set Adodc1.Recordset = Rs
Adodc1.Refresh
End Sub
With TDBGrid1
.Splits(0).SizeMode = dbgNumberOfColumns
For I = 1 To .Splits(0).Columns.Count - 1
.Splits(0).Columns(I).Visible = False
Next I
.Splits(1).Columns(0).Visible = False
.Splits(1).RecordSelectors = False
End With
43
Filter = Filter & " And "
End If
Filter = Filter & TDBGrid1.Columns(I).DataField & " Like '" & _
TDBGrid1.Columns(I).FilterText & "'"
End If
Next I
Adodc1.Recordset.Filter = Filter
End Sub
3. Lakukan juga koding untuk ClearFilter kalau pemakai menekan tombol Esc
44
Modul 15
Mengenal Crystal Report 8.0
Crystal report merupakan salah satu product report designer yang banyak digunakan oleh para
developer. Crystal report merupakan produk dari perusahaan Seagate. Crystal report tersedia
langsung pada Visual Basic 4.0 dan 5.0, tetapi pada Visual Basic 6.0 telah
diganti dengan Data Report yang dibuat oleh Microsoft.
Pada Visual Basic 6.0, pada dasarnya Crystal report dapat diinstall secara terpisah dari
folder \Misc yang merupakan versi 5.0.
3. Anda dapat memilih Using Report Expert untuk pembuatan report secara step by
step.
4. Step 1
5. Kemudian akan muncul dialog Choose an Expert, dan pilihlah Standard.
6. Kemudian akan muncul Standard Report Expert, yang memiliki 8 step, yaitu :
Data, Fields, Group, Total, TopN, Chart, Select, Style.
7. Klik pada Database, dan akan muncul dialog Database Explorer. Klik pada
Database Files, dan Double Klik pada Find Database File.
8. Pilih Pentacom.mdb, dan masukkan password yang sesuai, sehingga menjadi :
45
9. Klik pada tabel Barang, dan klik Add untuk memasukan tabel ke report.
10. Step 2
11. Klik pada Fields, dan masukkan field-field yang diinginkan. Anda dapat juga
mengubah judul untuk masing-masing kolom dengan mengatur Column Heading.
12. Step 8
13. Klik pada Style, dan pada Title ketik Laporan Data Pemasok, dan pilihlah Style
yang sesuai dengan keinginan anda.
14. Klik pada Preview Report untuk melihat hasil.
46
Report Header, tulisan yang akan ditampilkan pada halaman pertama Report.
Page Header, tulisan yang akan ditampilkan pada awal tiap halaman.
Details, merupakan baris-baris yang berasal dari field-field dalam tabel.
Report Footer, tulisan yang akan ditampilkan pada halaman terakhir.
Page Footer, tulisan yang akan ditampilkan pada akhir tiap halaman.
CRviewer
47
xDbf.Location = "C:\Pentacom.Mdb"
Next
On Error GoTo Keluar
xRpt.DiscardSavedData
CRViewer1.ReportSource = xRpt
CRViewer1.ViewReport
Exit Sub
Keluar:
MsgBox "Ada Masalah Dengan Laporan !!", vbInformation, "PERHATIAN" End
Sub
Project
Buatlah laporan dengan crystal report untuk Customer, dan Barang.
48
Modul 16
Membuat report dengan Crystal Report
Jika pada pertemuan sebelumnya kita telah belajar bagaimana membuat report dengan
menggunakan Report Expert, maka pada pertemuan ini kita akan membuat report dengan
melakukan design secara langsung.
5. Pada menu File, klik pada Summary Info, dan ketikan “Laporan Data Barang”
pada field Title.
6. Pada field explorer, Special fields, Drag Report Title ke bagian Page Header, dan
lakukan drag field KodeBarang, NamaBarang, Satuan, HargaJual
7. Klik kanan pada Formula Fields, dan pilih New:, Pada FormulaName ketikan
“SaldoAkhir”, dan buatlah formula {Barang.b0}+{Barang.b1}, dan klik pada
“Check” untuk memeriksa kebenaran dari formula yang diketik, dan akhiri
dengan klik pada “Save and Close”
49
8. Pada kolom @SaldoAkhir tambahkan Grand total.
Contoh :
xRpt.FormulaFields(1).Text = "{Barang.b0}+{Barang.b1}+{Barang.b2}+{Barang.b3}"
Dengan petunjuk instruktur anda, buatlah Faktur Pembelian, Laporan Pembelian Per
Pemasok, Laporan Pembelian Per Barang.
Project
Buatlah program cetak Databarang dimana @SaldoAkhirnya disesuaikan dengan Bulan
yang akan dicetak.
50
Modul 17
Membuat report dengan Crystal Report 8.5
Crystal report 8.5 menawarkan pembuatan report yang dapat terpadu dengan project
Visual Basic 6.0, dimana pembuatan report dapat langsung dilakukan pada IDE Visual
Basic dengan menggunakan menu Project, Add Crystal Reports 8.5.
5. Klik kanan pada “Database Fields” dan pilih Add Database to report.
6. Pada dialog “Database Explorer”, pilih “More Data Source”, klik pada “Active
Data”, double klik pada “Active Data (ADO)”, dan buatlah ConnectionString
seperti biasanya, dengan menggunakan ADO
7. Buatlah datasource dengan SQL statement berikut :
51
8. Klik kanan pada “Group Name Fields”, dan pilih “Insert Group”, dan buatlah
group berdasarkan “Nomor”
9. Rancanglah report anda sebagai berikut :
10. Lakukan pengaturan format untuk Qty, UnitPrice, Amount, Total, PrintDate serta
PrintTime.
11. Lakukan koding pada Report jika tidak ada data yang dicetak
12. Modify Koding untuk Form Viewer sehingga lokasi database dapat disesuaikan
kembali sebagai berikut :
52
"BeliDetail.KodeBarang, BeliDetail.NamaBarang, BeliDetail.Qty," & _
"BeliDetail.UnitPrice, BeliDetail.Amount " & _
"FROM Pemasok INNER JOIN " & _
"(Beli INNER JOIN BeliDetail ON Beli.Nomor = BeliDetail.Nomor) " & _ "ON
Pemasok.KodePemasok = Beli.KodePemasok;"
MyRs.Open sSQL, MyConn
Report.Database.SetDataSource MyRs, , 1
Screen.MousePointer = vbHourglass
CRViewer1.ReportSource = Report
CRViewer1.ViewReport
Screen.MousePointer = vbDefault
End Sub
13. Lengkapi program diatas untuk kemampuan mencetak Faktur nomor tertentu saja.
14. Tambahkan nomor baris untuk masing-masing baris faktur
15. Tambahkan PPN dan Nett
53
Modul 18
Membuat graphic dengan Crystal Report 8.5
Crystal report 8.5 menawarkan berbagai fasilitas kemudahan dalam pembuatan report,
salah satunya adalah pembuatan grafik
19. Tambahkan Graphic Bar ke Report, dengan melakukan klik pada toolbar ,
dimana dengan pengaturan sebagai berikut :
54
20. Lakukan pemrograman pada Visual Basic untuk membatasi pencetakan dari dan
sampai tanggal tertentu saja.
21. Aktifkan fasilitas Drill down untuk bagian detail, petunjuk : klik kanan pada
detail, dan pilih Format Section, beri tanda check pada Hide (Drill down ok)
Dengan petunjuk instruktur anda, buatlah report untuk mailing label dan cross tab.
55