Pete,
I compact an access db from a VB program each night so you may be able to use this to create an activeX DTS package
*******************************************
Dim jetDBEngine As DBEngine
Dim daoDB As DAO.Database
Dim fsoFS As Scripting.FileSystemObject
Dim strdb as string
strdb = "C:\mydb.mdb"
Set jetDBEngine = New DAO.DBEngine
'Compact Database into _Compacted file.
Set fsoFS = New Scripting.FileSystemObject
jetDBEngine.CompactDatabase strdb, strdb & "_Compacted"
'Then copy _Compacted file back on top of live file
fsoFS.CopyFile strdb & "_Compacted", strdb
fsoFS.DeleteFile strdb & "_Compacted"
'Establish Connection to Database
Set daoDB = jetDBEngine.OpenDatabase(strdb)
*********************************************
Ian