suggest this workaround for "query is corrupt" error
I wrote this code snippet (you may have to adjust it to match the tables in your database), and within a minute the whole program worked again. Hope this helps someone else, too:
Public Sub RenameAllTables()
Dim dbs As Database
Dim tdf As TableDef
Set dbs = CurrentDb
For Each tdf In dbs.TableDefs
If InStr(1, tdf.Name, "tbl_") > 0 Then ' this way we don't change system tables
tdfName = tdf.Name
tdfNewName = Replace(tdfName, tdfName, "dbo_" & tdf.Name)
DoCmd.Rename tdfNewName, acTable, tdfName
strSQL = "SELECT * FROM " & tdfNewName
Set qdf = CurrentDb.CreateQueryDef(tdfName, strSQL)
This uses the workaround suggested by Microsoft - to update a query instead of updating a table.
The code will rename tblCustomers to dbotblCustomers, then create a query: SELECT * FROM dbotblCustomers. The query is named tblCustomers
Now anytime your code runs an update to tbl_Customers, it will be updating the query (that selects from the table)!!