Anda boleh coba pakai yang ini
Disini ada dua function.
1.Main Function (Maintenance Function)
2.Sub Main function ( CompactDatabase)
Saya menjalankan sistem ini pada saat Loading Program.Dan Anda bisa
memodifikasi utk ON Exit. Sistem ini bisa di fungsikan sebagai maintenance
reguler. Utk Jelasnya silahkan baca scriptnya ya.
Betul Kata Bang Taher, Kalu function ini gagal, akan timbul Backup. Krn
dicompany saya banyak Compie yang kag punya UPS, so If failed program loading
and suddenly electric down tuh timbulnya backupnya.Semoga membantu ya
Regard,
Irawan
Function MaintenanceCheck()
'--------------------------------------
'- This function checks to see if the -
'- user is the first to log in today. -
'- It triggers a Compact and repair -
'- process if this is true -
'--------------------------------------
On Local Error GoTo MCEnd
Dim stDatabaseName As String
Dim stLastCompacted As String
Dim stMessage As String
Dim stSQl As String
Dim stTimeNow As String
Dim stToday As String
' stToday = Format$(Now, "yyyymmdd") 'Note the yyyymmdd format
'stLastCompacted = DLookup("[ParameterValue]", "tblControl1",
"[ParameterName] = 'LastCompacted'")
'stDatabaseName = DLookup("[ParameterValue]", "tblControl1",
"[ParameterName] = 'DatabaseName'")
'--------------------------------------
'- Database already compacted today -
'--------------------------------------
'If stLastCompacted >= stToday Then
' Exit Function
'End If
'--------------------------------------
'- Database compact process is -
'- required. Display message -
'--------------------------------------
'If intSecurityLevel = 1 Then
' stMessage = stMessage & "Please ask someone with Data-entry or
Administrator permissions "
' stMessage = stMessage & "to log in and run start of day maintenance."
' MsgBox stMessage, vbInformation, stDatabaseName
'Exit Function
'Else
' stMessage = stMessage & "When you click [OK], start of day maintenance
will take place." & vbCrLf & "Please wait ..."
' MsgBox stMessage, vbInformation, stDatabaseName
'stMessage = SysCmd(acSysCmdSetStatus, "Daily Maintenance In Progress ...
Please Wait")
DoCmd.OpenForm "FrmMaintenance"
'End If
'---------------------------------------
'- Write a log record -
'---------------------------------------
' stMessage = WriteLogRecord("CompactDatabase", "MaintenanceCheck", "")
'---------------------------------------
'- Update the Control Table record -
'---------------------------------------
' stSQl = "UPDATE tblControl1 SET [tblControl1].[ParameterValue] = '" &
stToday & "' WHERE [tblControl1].[ParameterName] = 'LastCompacted'"
' DoCmd.SetWarnings (False)
' DoCmd.RunSQL (stSQl)
' DoCmd.SetWarnings (True)
'---------------------------------------
'- Call the CompactDatabase function. -
'- This must be the last line of code -
'- in the MaintenanceCheck function -
'---------------------------------------
compactdatabase
Exit Function
'MCError1:
'MsgBox CStr(Err) & " - " & Error$
'Resume MCEnd
MCEnd:
stMessage = SysCmd(acSysCmdSetStatus, "Have a nice day guys,(IT Sys Niaga
Merapi 2008)")
DoCmd.RunMacro "FrmClose"
End Function
Function compactdatabase()
'------------------------------------
'- Compact the database. This only -
'- works if it is the only code in -
'- the function, and if the -
'- function is called from the last -
'- line of another VB function -
'------------------------------------
CommandBars("Menu Bar"). _
Controls("Tools"). _
Controls("Database utilities"). _
Controls("Compact and repair database..."). _
accDoDefaultAction
End Function
--- Pada Kam, 12/2/09, Haer Talib <[email protected]> menulis:
Dari: Haer Talib <[email protected]>
Topik: Re: [belajar-access] HATI-HATI dg Compact and Repair
Kepada: [email protected]
Tanggal: Kamis, 12 Februari, 2009, 3:45 AM
Compact and repair sendiri sudah mengandung backup.
prosedur yg dilakukan:
1. simpan file database dengan nama sementara (biasanya ada "backup" nya)
2. lakukan compacting
3. kalau berhasil, hapus file sementara. kalau tdk berhasil, file asli jadi
rusak, tapi user bisa menggunakan file backup.
mas lusky gak lihat file backupnya?
kalau prsedurnya tdk spt di atas, tim developmentnya access bisa dirocket tuh.
Haer
2009/2/12 privat access <les.acc...@gmail. com>
Dear All,
Sekedar berbagi pengalaman. Semoga tidak terjadi pada yang lain.
Pernah suatu ketika sy akan presentasi diktr client. Nah, pada saat jam 11.45,
kebetulan sy sudah "Show Up" ttg aplikasi yang akan saya demokan setelah makan
siang (sekitar jam 13.00). Nah, Pada jam 12,15 sy melihat ada "celah kecil"
yang harus sy perbaiki sebelum didemokan kemudian. Namun, tanpa saya sadari
(kelalaian sy tidak menghiraukan status baterai laptop sudah loc/critical) ,
tiba-tiba laptop mati seketika pada saat compact and repair SEDANG BERLANGSUNG.
Dan setelah sy booting kembali, ternyata "Shock Therapy" yang saya dapatkan.
Aplikasi sy tidak dapat dibuka sama sekali hingga saat ini. Terpaksa, akhirnya
buat "mainan kecil" untuk didemokan dalam wkt 30 menit.
Oleh, karena itu perlu di ANTISIPASI penggunaan Compact and Repair pada
aplikasi anda. Tiada salahnya juga untuk membuat prosedur "BACKUP" sebelum
compact and repair dijalankan.. ..
--
[Haer Talib]
MVP Office Access
Meet me at www.RumahAccess. com
=>
___________________________________________________________________________
Dapatkan alamat Email baru Anda!
Dapatkan nama yang selalu Anda inginkan sebelum diambil orang lain!
http://mail.promotions.yahoo.com/newdomains/id/