RE:COMPACTAR BD DE ACCESS
Debes usar el Microsoft Jet OLE DB Provider and Replication Objects (JRO) que esta disponible desde MDAC 2.1, asi que agregala a tu proyecto (Microsoft Jet and Replication Objects 2.x Library) luego puedes hacer lo siguiente :
Dim jro As JRO.JetEngine
jro = New JRO.JetEngine()
jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5")