Adding a new table should not cause corruption, you should also try to investigate why your db became corrupt - working in a wireless environment for example - and then take steps to minimise that risk for the future.
One other thing to try is to see if you can open it in VBA from another db.
1. Create a new database
2. Create a new module and use this code
Code:
Sub OpenDB()
dim db as dao.database
set db=dbengine.opendatabase("...path to your corruptdb.accdb",-1,0,";")
end sub
if that works you can then you should be able to use code to copy the data across. Might be by populating a recordset, then saving to your new db. Might be by using msysobjects, might be by using tabledefs
Note: take a backup of your corrupted db and work off that.