To move to a new container, just build a new, blank database and import everything into that new container. If you're using 2010 to do this, note you can create databases using the older .mdb format if needed (and if you're supporting users who are running 2003 or prior, you'll need to keep the .mdb format).
To do this:
1) Make a backup of your database
2) In the File tab, select the New option on the leftside menu
3) On the rightside, click the folder icon just next to the box where you type the FileName.
4) In the dialog that shows, locate the path to store the new database, and enter the name
5) Select the "Microsoft Access Databases (2002-2003 format)(*.mdb)" option in the "Save as type" dropdown.
6) Click the OK button
This will create a new database, in the location that you specify, with the name you specify.
Now open that database in 2010, and do this:
1) Click the External Data ribbon group
2) Click the Access item
3) Use the Browse button to locate the database from which you want to import the database
4) Be SURE to select the first option (i.e. the "Import tables, blah blah" option)
5) Click OK
6) In the Import Objects dialog, select the tables you want to import. Be sure to review the settings in the Options button to see if you need any of those (chances are you do not).
7) Click OK, and Access will import the selected objects to your new database
Now, close out the database and make a copy of it. Reopen the new database, and Compact it.
If you're still have troubles after that, then there is a good chance that you have troubles with the installation of Access/Office or Windows on your machine. Be sure that you've fully updated Office and Windows, and try again.
If you're still having troubles compacting, then you may need to hire a recovery service:
eRepair Access http://access.erepairtools.com/