My colleagues have offered a few thoughts on the subject. I'll take a different direction just to cover some bases. Let's assume for the sake of discussion that you really DO need to remove - but somehow preserve - old data.
The problem, of course, is the intertwining relationships that can exist sometimes between two or more tables. You therefore have to create a "deconvolution" plan that starts by identifying tables that depend on other tables (and why).
Simple case: An invoice table with a child table of invoice line-item details, one/many parent/child relationship, with relational integrity enabled. You can't archive the invoices first, because removing the invoice entries would violate relational integrity for the line-item table. So you would think that have to archive the CHILD table (invoice details) first. EXCEPT that you then need to consider what format you are using to store the details. Your plan needs to take the master DB and the archive destination into account.
If you are planning to keep a separate Access BE file as the particular archiving destination AND you wanted to maintain relational integrity in that file, too, then you would have to (a) COPY the invoice table to the archive, (b) copy the inventory details to the archive, (c) delete the archive details from the live DB, (d) delete the invoice (parent) records from the live DB - all the while using a restrictive WHERE clause that would only copy or delete records eligible to be archived... which means that the invoice table (the original parent) has to have a field to drive the archive step in the first place. If there is a date field and you are archiving by record's age, no biggie. Now, if there are multiple inter-table relationships that confuse this issue, you have to do the same type of analysis but with extra tables to complicate your plans. The general rule is "archive the top of the hierarchy first, remove the top of the hierarch last."
But there can be complications. In my big security-tracker DB, a complication was that each "required action" entry applied to every server on site, over 1500 total. So I had to know the state of each server for each required action. There was more to it than that, but this part illustrates an "oddball" case. I was allowed to archive "required action" entries after 6 months - but only six months after ALL of the servers had been appropriately updated. If even ONE server was still pending for action, the whole action entry was OPEN. Which meant that the date of issuance of the action notice wasn't important - it was the date of closure in the junction table that tracked individual compliance. The tables ALL had a Y/N field for "MaintSelect" (selected for maintenance) so that I could run a couple of queries to select (or de-select) eligible records, then run the appropriate export and removal queries. I.e. I built indicator fields into the tables so that when it was time to do maintenance, I could mark the records. Once the marking was done, the copying and removal were almost trivial.
IF you are actually NOT planning to use a BE file, you could do what I did for a situation where the action history would become irrelevant AND there was no need to record every single detail, I built a query to combine data and exported the query records to a spreadsheet. The removal step didn't change, but the archival step did, because I could export everything at once to the spreadsheet.
The archival step will always depend on what you choose as the storage mechanism. The removal step hardly ever seems to change, in principle. The only question in removal is whether you can use an already existing field or you need a "selected for action" field as the mechanical method of record selection.