[AccessD] ...monitoring be mdb size

William Hindman wdhindman at dejpolsystems.com
Mon Apr 2 07:50:38 CDT 2007


Andy

...thanks much ...I did find some code over on Dev's site that looked like 
it might be adapted to what I wanted ...but your's looks like it should do 
the job nicely ...I'll give it a shot ..tks again.

William Hindman

----- Original Message ----- 
From: "Andy Lacey" <andy at minstersystems.co.uk>
To: "Access Developers discussion and problem solving" 
<accessd at databaseadvisors.com>
Sent: Monday, April 02, 2007 7:53 AM
Subject: Re: [AccessD] ...monitoring be mdb size


> Well there's not a lot to it really
> =================================
>
> Function CompactRepair()
> Const strOldMDB As String = "X:\y\z\your.mdb"   'Amend as necessary
> Const strNewMDB As String = "X:\y\z\Compacted.mdb"
>
> Dim strSubject As String
> Dim lngOldSize As Long
> Dim lngNewSize As Long
> Dim lngChange As Long
> Dim lngOldSizeKB As Long
> Dim lngNewSizeKB As Long
> Dim lngChangeKB As Long
> Dim lngOldSizeMB As Long
> Dim lngNewSizeMB As Long
> Dim lngChangeMB As Long
> Dim db As Database
> Dim strSQL As String
>
>
> On Error GoTo Repair_Err
> lngOldSize = FileLen(strOldMDB)
> DBEngine.RepairDatabase strOldMDB
>
> On Error Resume Next
> Kill strNewMDB
> On Error GoTo Compact_Err
> DBEngine.CompactDatabase strOldMDB, strNewMDB
> lngNewSize = FileLen(strNewMDB)
> lngChange = lngOldSize - lngNewSize
>
> lngOldSizeKB = lngOldSize / 1024
> lngNewSizeKB = lngNewSize / 1024
> lngChangeKB = lngChange / 1024
> lngOldSizeMB = lngOldSizeKB / 1024
> lngNewSizeMB = lngNewSizeKB / 1024
> lngChangeMB = lngChangeKB / 1024
>
> strSubject = "Repair & Compact: SUCCESS " & lngOldSizeMB & "mb To " &
> lngNewSizeMB & "mb (saving " & lngChangeMB & "mb)"
>
> 'My email routine takes two parameters - body and subject. You'll do your
> own thing no doubt.
> Call YourOwnEmailRoutine("Repair and Compact of " & strOldMDB & " ran
> successfully" & vbCrLf & vbCrLf _
> & "Old Size " & Format(lngOldSizeKB, "#,##0") & "kb" & vbCrLf _
> & "New Size " & Format(lngNewSizeKB, "#,##0") & "kb" & vbCrLf _
> & "Reduction Of " & Format(lngChangeKB, "#,##0") & "kb" & vbCrLf & vbCrLf 
> _
> & "NOTE THAT THIS HAS ONLY BEEN RUN ON AN OFF-LINE COPY OF TITUSDAT.MDB 
> FOR
> INFORMATION PURPOSES." _
> , strSubject)
>
> 'I also keep a record in a stats table
> strSQL = "INSERT INTO COMPSTAT (CST_DATE, CST_FROM, CST_TO) VALUES(Now()," 
> &
> lngOldSizeKB & ", " & lngNewSizeKB & ")"
> Set db = CurrentDb
> db.Execute strSQL
>
> CompactRepair_Exit:
> On Error Resume Next
> db.Close: Set db = Nothing
> Exit Function
>
> Repair_Err:
> strSubject = "Repair & Compact: FAILED"
> Call YourOwnEmailRoutine("Repair of " & strOldMDB & " failed with error " 
> &
> Err & vbCrLf & vbCrLf & Err.Description, strSubject)
> Resume CompactRepair_Exit
> Resume 0
>
> Compact_Err:
> strSubject = "Repair & Compact: FAILED"
> Call YourOwnEmailRoutine("Compact of " & strOldMDB & " failed with error " 
> &
> Err & vbCrLf & vbCrLf & Err.Description, strSubject)
> Resume CompactRepair_Exit
> Resume 0
>
> End Function
> ==========================================
>
>
> --
> Andy Lacey
> http://www.minstersystems.co.uk
>
>
>
> --------- Original Message --------
> From: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
> To: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
> Subject: Re: [AccessD] ...monitoring be mdb size
> Date: 02/04/07 10:25
>
>
> Andy,
> me too, please, if is possible...
> Many thanks in advance,
> Ervin
> ----- Original Message -----
> From: "Andy Lacey" <andy at minstersystems.co.uk>
> To: "Access Developers discussion and problem solving"
> <accessd at databaseadvisors.com>
> Sent: Monday, April 02, 2007 11:34 AM
> Subject: Re: [AccessD] ...monitoring be mdb size
>
>
>> Hi William
>> Only just spotted this. You've probably done it by now, but..
>>
>> I have an MDB which runs on a nightly schedule. What it does is slightly
>> different from yours in that it measures the difference in size between
>> the
>> the live BE (well a copy actually) and one which it Compacts. It then
>> emails
>> me telling me by how much the BE would shrink if I threw everyone out of
>> the
>> system to run a compact. It's only a few lines of code and nothing you
>> couldn't do in your sleep but you're welcome to it if it's any use.
>>
>> --
>> Andy Lacey
>> http://www.minstersystems.co.uk
>>
>>> From: accessd-bounces at databaseadvisors.com
>>> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
>>> William Hindman
>>> Sent: 31 March 2007 22:23
>>> To: Access Developers discussion and problem solving
>>> Subject: [AccessD] ...monitoring be mdb size
>>>
>>>
>>> ...I want to monitor the size of my be mdb's and gen an
>>> e-mail if they grow
>>> by a certain percentage in a given time frame ...has anyone
>>> already done
>>> this and have a solution they're willing to share?
>>>
>>> William Hindman
>>>
>>
>
>
> ________________________________________________
> Message sent using UebiMiau 2.7.2
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 






More information about the AccessD mailing list