![]() |
![]() |
Modul 1
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 :
Dim cat As ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Pegawai.mdb;"
Membuat Tabel
Anda dapat membuat suatu tabel dengan menambahkannya kedalam Collection Tables yang terdapat pada Catalog.
Contoh :
Dim Tbl As ADOX.Table
tbl.Name = "tblPegawai"
tbl.Columns.Append "Nip", adVarWChar, 5
tblColumns(“Nip”).Attributes = adColFixed
tbl.Columns.Append "Nama", adVarWChar, 5
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.
Membuat Primary Key
Primary key pada tabel sangat penting untuk integritas data pada tabel. Untuk membuat primary key anda dapat menambahkannya pada Collection Keys
Contoh :
tbl.Keys.Append "P_Key", adKeyPrimary, "Nip"
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.
tbl.Indexes.Append "Idx_Nama", "Nama"
atau
Dim idx as Index idx.Name = "Idx_Nama" idx.Columns.Append "Nama" tbl.Indexes.Append idx
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 :
tbl.Keys.Append "PegawaiJabatan", adKeyForeign, "Jabatan", "tblJabatan", "Jabatan"
Contoh Kongkrit :
Public Sub CiptaCatalog(xpath As String) Dim cat As New ADOX.Catalog Dim tbl As ADOX.Table
'Membuat database Pegawai.Mdb
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Pentacom.mdb;"
'membuat tabel tblJabatan dan kolom-kolomnya
Set tbl = New ADOX.Table tbl.Name = "tblJabatan" tbl.Columns.Append "Jabatan", adVarWChar, 3 tbl.Columns.Append "NamaJabatan", adVarWChar, 30 tbl.Columns.Append "GajiPokok", adCurrency tbl.Columns.Append "Tunjangan", adCurrency cat.Tables.Append tbl
'membuat primary key
tbl.Keys.Append "P_Key", adKeyPrimary, "Jabatan"
'Membuat tabel tblPegawai dan kolom-kolomnya
Set tbl = New ADOX.Table
tbl.Name = "tblPegawai"
tbl.Columns.Append "Nip", adVarWChar, 5
tbl.Columns("Nip").Attributes = adColFixed
tbl.Columns.Append "Nama", adVarWChar, 5
tbl.Columns.Append "Jabatan", adVarWChar, 3
cat.Tables.Append tbl
'membuat primary key
tbl.Keys.Append "P_Key", adKeyPrimary, "Nip"
'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
Membuat Database dengan Password
Anda dapat membuat database dengan menambahkan Jet OLEDB:Database Password=password; pada connection string saat catalog dibuat.
Contoh :
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 :
Dim cmd As New ADODB.Command cmd.CommandText = "Select Nip,Nama,NamaJabatan From Pegawai Inner Join Jabatan On Pegawai.Jabatan=Jabatan.Jabatan"
cat.Views.Append "PegawaiDtl", cmd
Membuat kolom Autonumber
Anda dapat membuat kolom Autonumber dengan menggunakan, dimana kolom harus bertype long.
col.Properties("AutoIncrement") = True
Melakukan Compact Database
Dim jr As New JRO.JetEngine
jr.CompactDatabase "Data Source=C:\PentaCom.Mdb; Jet OLEDB:Database
Password=Pentacom;", _
"Data Source=C:\PentaComNew.Mdb;Jet OLEDB:Database Password=Pentacom;"
Kill "C:\PentaCom.mdb"
Name "C:\PentaComNew.mdb" As "C:\PentaCom.Mdb"
Cara diatas dapat juga digunakan untuk mengganti password database.
Project VB Lanjutan
Sebagai contoh implementasi Visual Basic lanjutan ini kita akan membuat suatu program Persediaan yang dibatasi secara sederhana.
Buatlah database Persediaan dengan struktur sebagai berikut :
Barang
KodeBarang | Text (5) | PrimaryKey |
Keterangan | Text (30) | |
Satuan | Text (3) | |
HargaJual | Currency | |
b0 | Double | Saldo Awal Tahun |
b1 | Double | Saldo Bulan Januari |
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 |
Untuk Tabel Pelanggan, Jual, dan JualDtl Rancang Sendiri.
Lengkapi Juga Database Persediaan diatas dengan Relasi antar table.