If you are going to move a range of records, use the SQL Insert Into command to copy the records to the archive table and use the SQL Delete command to delete the records from the original table. Use transactions to do this so that you can roll back the changes if necessary (i.e. BeginTrans, CommitTrans, Rollback).
Idea (if you haven't already thought about this):
I usually have one main form from which the user can edit the data. A menubar (assigned to this form) contains an option by which the user can select which table he/she wants to edit/view. If the user wants to view the archived table, I simply set the recordsource of the form to the archived table, unhide a label that indicates the user is viewing archived data, and set the form to readonly. I also give the user the ability to transfer items back from archival to production (in case they screwed up).
This technique also works on reports. So the user can (using the same report) print production data or archived data.