Set up an append query, which appends the currently displayed record to another table, along with the date and time (use the Now() function), the user name, and whatever else you want. Set up a delete query, which deletes the currently displayed record. For both queries, limit their operation to the currently displayed record by putting a criteria on the key field which equals the key of the currently displayed record (e.g, [Forms]![MyForm]![txtKeyField]).
In the command button's Click event procedure, do the following:
turn warning messages off
activate error trapping
run the append query
if no error occurred, run the delete query
turn warning messages on