Compact And Repair Databse Access Dengan DBEngine VB6
Berikut ini adalah cara meng-compact and repair database microsoft access di visual basic 6, hal ini penting dilakukan agar ukuran file database tidak membengkak (besar) dan dapat membetulkan jika ada error di file ms.access-nya. untuk mempraktekannya siapkan :
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. Copy-kan coding berikut ke dalam editor form dan module ybt.
'Coding ini di Module...
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. Untuk yang ini," & 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
'--- Akhir coding di Module...
'--- Coding ini di Form Anda...
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
'--- Akhir coding di Form...
Tags:
contoh program vb6, contoh fungsi di vb6, cara penggunaan fungsi vb, tutorial vb6, download tutorial vb6, vb6 tutorial download, dasar dasar vb6, belajar vb6, cara mudah belajar vb6, vb6 artikel download, vb6 blog, contoh program vb6, artikel vb6, semua tentang vb6, vb6 api, cara menggunakan module, cara menggunakan class module
Posting Komentar untuk "Compact And Repair Databse Access Dengan DBEngine VB6"