DATABASE2

Menampilkan Daftar Tabel di Database (DAO)
Menampilkan daftar tabel yang terdapat di dalam file database MSAccess (*.mdb) menggunakan reference DAO.
Langkah2:
1. Buat 1 Project baru dengan 1 Form, 1 Listbox.
2. Tambahkan reference Microsoft DAO 3.X Object Library dari menu Project->References.
3. Ketik coding berikut ke dalam editor form yang bertalian. Ketik coding berikut ini pada Form.
Code:
Option Explicit ‘Setiap variabel yang digunakan
‘harus dideklarasikan dulu…
Private Sub Form_Load()
Dim db As Database
Dim qdef As QueryDef
Dim td As TableDef
Dim dbname As String
‘Buka database. Ganti “c:\DBfile.mdb” dengan nama
‘file database Anda
‘Jika database di password, sesuaikan dengan metoda
‘pembukaan file database
‘yang diprotect dengan password… Pada contoh ini,
’kita anggap file *.mdb
‘ybt tidak dipassword.
Set db = OpenDatabase(“c:\DBfile.mdb”)
‘Tampilkan nama tabel yang ada.
For Each td In db.TableDefs
‘Jika Anda ingin menampilkan juga tabel sistem,
‘ganti baris coding di bawah dengan: List1.AddItem
td.Name, jadi tanpa pengecekan If…
If td.Attributes = 0 Then List1.AddItem td.Name
Next td
db.Close
End Sub
Menampilkan Tabel Database dengan ADO
Menampilkan daftar tabel yang terdapat di suatu database menggunakan ADO (Microsoft ActiveX Data Objects 2.0 Library).
Langkah2:
1. Buat 1 Project baru dengan 1 Form.
2. Tambahkan 1 Combobox, beri nama cboRecordsource, dan 1 Commandbutton (Command1).
3. Tambahkan reference Microsoft ActiveX Data Objects 2.0 Library dari menu Project->References.
4. Ketik coding berikut ke dalam editor form yang bertalian. Ketik coding berikut ini pada form
Code:

Private Sub DaftarTabel(Daftar As ComboBox)
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
On Error GoTo Pesan
‘Inisialisasi variabel Connection
Set cnn = New ADODB.Connection
cnn.CursorLocation = adUseClient
‘Sesuaikan lokasi database di PC Anda
cnn.ConnectionString = _
“Provider=Microsoft.Jet.OLEDB.4.0;” & _
“Data Source=D:\Samples\Visual
Basic\MyOCX\ADOKontrol2\ADOKontrol\mahasiswa.mdb;” & _
“Jet OLEDB:Database Password=;”
cnn.Open
‘Buka skema tabel dengan OpenSchema
Set rs = cnn.OpenSchema(adSchemaTables)
‘Bersihkan daftar tempat menampungnya dulu
Daftar.Clear
While rs.EOF <> True
‘MSys untuk tabel sistem di MS Access
‘sys biasanya tabel sistem di MS SQL Server
‘Jadi, tabel sistem tidak perlu ditampilkan…
If Left(rs.Fields(“Table_Name”).Value, 4) <>
“MSys” And _
Left(rs.Fields(“Table_Name”).Value, 3) <> _
“sys” Then
Daftar.AddItem rs.Fields(“Table_Name”)
End If
rs.MoveNext
Wend
Daftar.Text = Daftar.List(0)
‘Tutup semua variabel recordset dan connection
rs.Close
cnn.Close
‘Bersihkan memory yang telah digunakan
Set rs = Nothing
Set cnn = Nothing
Exit Sub
Pesan: ‘Jika ada error, tampilkan nomor dan
‘deskripsinya
MsgBox Err.Number & ” – ” & _
Err.Description, vbCritical, “Error”
End Sub
Private Sub Command1_Click()
Call DaftarTabel(cboRecordsource)
End Sub

Meng-compact/compress Database
Melakukan proses compact/compress database Access. Jika Anda sering menambah atau menghapus data pada database MS Access, ukuran file database semakin besar dan terus membengkak. Untuk mengkompressnya, kita dapat melakukan proses compact database dari program setelah file database tidak digunakan.
langkah2:
1. Buat 1 Project baru dengan 1 Form, 1 Module, 2 Commandbutton, dan 1 Label.
2. Tambahkan component “Microsoft Common Dialog Control 6.0 (SP3)” dari menu Project->Components.
3. Ketik coding berikut ke dalam editor form dan module yang bersangkutan.
Ketik coding berikut ini pada Module
Code:
Public Declare Function GetTempPath Lib “kernel32” _ Alias
“GetTempPathA” (ByVal nBufferLength As Long, _ ByVal lpBuffer
As String) As Long
Public Const MAX_PATH = 260
Public Sub CompactJetDatabase(Location As String, _
Optional BackupOriginal As Boolean = True)
On Error GoTo CompactErr
Dim strBackupFile As String
Dim strTempFile As String
‘Periksa apakah database ada…
If Len(Dir(Location)) Then
‘Jika diperlukan utk membackup, lakukan!
If BackupOriginal = True Then
strBackupFile = GetTemporaryPath & “backup.mdb”
If Len(Dir(strBackupFile)) Then
Kill strBackupFile
FileCopy Location, strBackupFile
End If
‘Buat nama file temporal (sementara)
strTempFile = GetTemporaryPath & “temp.mdb”
If Len(Dir(strTempFile)) Then Kill strTempFile
‘Lakukan compact database menggunakan DBEngine
DBEngine.CompactDatabase Location, strTempFile
‘Untuk repair database, Anda menggunakan cara
‘berikut:
‘Sesuaikan kebutuhan lainnya di prosedur ini…
‘DBEngine.RepairDatabase “NamaDatabaseAnda.mdb”
‘Jika database Anda dipassword, gunakan cari
‘berikut:
‘DBEngine.CompactDatabase Location, strTempFile, ,
‘, “;pwd=passwordanda;”
‘Hapus file database yang asli
Kill Location
‘Copy yang file sementara dan telah dicompact
‘menjadi file database yang asli kembali…
FileCopy strTempFile, Location
‘Hapus file database temporal (sementara)
Kill strTempFile
MsgBox “Sukses meng-compact database!”, _
vbInformation, “Sukses”
End If
Exit Sub
CompactErr: ‘Jika terjadi error, tampilkan pesan
‘kemungkinan berikut ini…
Select Case Err.Number
Case 70 ‘Sedang digunakan
MsgBox “Database sedang digunakan!” & _
vbCrLf & _
“Tutup dulu file tersebut!”, _
vbCritical, _
“Sedang Digunakan”
Case 75 ‘Path/file belum ada
MsgBox “Database belum dipilih.” & _
vbCrLf & _
“Pilih dulu databasenya!”, _
vbCritical, _
“Database Belum Ada”
Case 3031 ‘Diprotect password
MsgBox “Database dipassword,” & vbCrLf & _
“lakukan langsung dari filenya!”, _
vbCritical, _
“File Terprotect Password”
Case 3343 ‘Database tidak dikenali
MsgBox “Databaes bukan Access 97” & _
vbCrLf & _
“atau file bukan database!”, _
vbCritical, _
“Database Tidak Dikenali”
Case Else
MsgBox Err.Number & ” – ” & Err.Description
Exit Sub
End Select
End Sub
‘Fungsi ini untuk mengambil nama direktori tempat file
‘database temporal (sementara) dicopy…
Public Function GetTemporaryPath()
Dim strFolder As String
Dim lngResult As Long
strFolder = String(MAX_PATH, 0)
lngResult = GetTempPath(MAX_PATH, strFolder)
If lngResult <> 0 Then
GetTemporaryPath = Left(strFolder, _
InStr(strFolder, Chr(0)) – 1)
Else
GetTemporaryPath = “”
End If
End Function
Ketik Coding berikut ini pada Form.
Private Sub Command1_Click()
With CommonDialog1
.Filter = “*.mdb”
.ShowOpen
Label1.Caption = .FileName
End With
End Sub
Private Sub Command2_Click()
Call CompactJetDatabase(Label1.Caption)
End Sub

Tinggalkan komentar

Belum ada komentar.

Comments RSS TrackBack Identifier URI

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