Buat teman2 milis semua, tak sengaja ketemu di arsip milis dibawah ini,
yang saya tanyakan :
1. Apakah script ini untuk meng-Compact Database lain/BE link ?
2. Bisa dijelaskan penggunaan scriptnya lebih lanjut?

asal script
<http://f1.grp.yahoofs.com/v1/0E85TNHBglY9U1N-bflbh_jVO3qnhtmvuj3FHcNANe\
6kZCQCsQSliR748M_w02yrhgIrhZMxCLCKkVejhMtLmJgkHsCEnw/01.%20Articles%20an\
d%20Samples/compact%20BE%20di%20server.txt>
' saya harus lakukan compaction di server utk back-end karena bila
dilakukan
' maka saya perlu hub switch (tak boleh hub biasa) dan komputer client
yang bagus
' bila tidak di client juga sering jadi error alias rusak mdb nya.

Function Mcompact()

Dim aku As String
Dim aku1 As String
Dim aku2 As String
Dim Oldname As String
Dim Newname As String
Dim dbs As Database
Dim rst As Recordset


Set dbs = CurrentDb()
' buka tabel tempat berisi lokasi file backend
' field : filename dan hasil dengan nama tabel TblBackEnd
Set rst = dbs.OpenRecordset("SELECT TblBackEnd.* FROM TblBackEnd;")

With rst
.MoveLast
.MoveFirst
Do While Not rst.EOF

aku = rst!FileName
' buat directory utk file sementara hasil compact
aku1 = "c:\temp\db1.mdb"

' check, apakah ldb masih gentayangan
aku2 = Left(aku, Len(aku) - 3) & "ldb"
If Dir(aku2) <> "" Then
rst.Edit
' laporkan hasil kegagalan
rst!hasil = "gagal"
rst.Update
GoTo LanjutSatu
End If


If Dir(aku1) <> "" Then
Kill aku1
Else
End If

DBEngine.CompactDatabase aku, aku1
Kill aku
Oldname = aku1: Newname = aku
Name Oldname As Newname

rst.Edit
' laporkan keberhasilan
rst!hasil = "sukses"
rst.Update


LanjutSatu:
' lanjutkan ke file backend lainnya utk di compact
.MoveNext
Loop

End With

rst.Close
dbs.Close

DoCmd.Quit

End Function


End Function

Kirim email ke