Will compacting a database recalclate the recordid of a record (key field
set to autonumber)
No. Once the number is written to the table it's there.
If not, how can I update the field to recalculate the record id numbers?
You can't, if it's an Autonumber.
An autonumber IS NOT a "record number" in the sense you think! It's a
meaningless, arbitrary unique identifier, and that's ALL that it is.
Autonumbers will always have gaps; if you delete a record that record's
autonumber is gone and will not be reused or reassigned, leaving a gap.
One question: Suppose you had 21889 records in a table, with a key field with
values from 1 through 21889. You have this table linked to seven other tables
with anywhere from zero to hundreds of related records for each ID. You have
users who've written ID numbers on PostIt notes, printed them in reports,
memorized them, sent them in emails...
You delete record 2.
Do you REALLY want to update 21887 ID numbers, not just in the main table but
everywhere else that those numbers are recorded????