Si va a compactar el back end SI necesita alguna forma de llamar una función o procedimiento. Cuando empleaba Access como back end utilizaba esta función.
Function CompactaBackEnd()
On Error GoTo CompactaBackEnd_Err
Dim strPath As String
DoCmd.Echo True, "Compactando el BackEnd ....."
DoCmd.Hourglass True
strPath = CurrentProject.Path '& "\" & "dbRifas_bs.mdb"
DBEngine.CompactDatabase strPath & "\dbRifas_bs.mdb", strPath & "\tem.mdb"
If Err.Number = 0 Then ' Borrar la base datos original y renombra el archivo temporal
Kill strPath & "\dbRifas_bs.mdb"
Name strPath & "\tem.mdb" As strPath & "\dbRifas_bs.mdb"
End If
DoCmd.Hourglass False
DoCmd.Echo False
MsgBox "BacKend Compactado satisfactoriamente !!", vbInformation, "Compactando Tablas del sistema "
CompactaBackEnd_Err_Exit:
DoCmd.Echo False
DoCmd.Hourglass False
Exit Function
CompactaBackEnd_Err:
MsgBox "Ha ocurrido en siguiente error . " & Err.Description, vbExclamation, "Error al compactar tablas del sistema"
Resume CompactaBackEnd_Err_Exit
Y llamaba la función desde el Front End mediante una macro. Si utiliza este código debe reemplazar dbRifas_ds.mdb, por el nombre de su base de datos back end, si utiliza Access 2007 o superior cambie las extensiones mdb por accdb.
Si va a compactar el Front End siga la explicación que le dan y haga caso omiso a este código.