Why Access Shows #Deleted in Records
When every field in a row shows #Deleted, Access has lost track of that record. Either the record really was deleted, or Access can’t match it to its source anymore. The fix depends on which one it is.
Common causes
- Another user deleted the record while you had the form or table open
- SQL Server linked tables where Access doesn’t recognize the primary key correctly
- A BigInt (bigint) primary key in SQL Server, which older Access versions can’t handle without a setting change
- Corruption in a local Access table, often with strange characters or #Error showing in nearby rows
How to fix it
- Refresh the data. Press Shift+F9 or close and reopen the form. If the #Deleted rows disappear, someone simply deleted those records.
- For SQL Server tables, check the primary key. Make sure the table has a primary key in SQL Server, then refresh it in External Data > Linked Table Manager.
- For bigint keys: in Access 2016 or later, go to File > Options > Current Database and check Support Bigint Data Type for Linked/Imported Tables. Then relink the tables.
- If you suspect corruption: make a copy, then run Compact and Repair. If damaged rows remain, delete them in the copy and restore the correct data from a backup.
When it’s corruption
If #Deleted or #Error rows come back after a repair, or show up in tables nobody deleted from, the database is likely being damaged by an unstable network or an unsplit setup. That needs a root-cause fix, not just a cleanup.
Need help?
Book a free diagnostic or see our Access Database Repair service.
