Thanks. The reason I wanted to move into separate archive table is active table will be faster. I don't know is that right ?
It usually helps performance when the database has a poor design. A well design database you be able to handle many years worth of data.
Archiving transaction normally means you would need to move records from multiples tables to the archive.
Are you also arching all the lookup tables and all other the related data? If not then you will have to create duplicate relationships with the production table and the archive tables which do impact performance.
I find most performance issues with Access application is not due to the number of records. It is from poor design of tables (schema), indexing, , and queries. Basing a form on a table not a well design query hurts performance.
Performance:
A database that is properly normalized is key to performance.
Well designed queries for forms and reports that only return the records and fields need are key to performance. This is true for any Database, include MS SQl Server, not just Access
How I learn to design for performance is to have a good test back end. This is one with lots of data. Usually I try to create a minimum of 10+ years worth of data to really stress test my application.
In my experience most developers never work with large test datasets from the start while building and testing there application. They usually have just a few records in each table. If you wait until the application is almost done to stress test snfd you find as design issue, it rarely gets properly fixed. That would take to much resigning. That is why Agile development has become popular.
I also test on lower end machine, not a high end computer like a lot a developers have.
If performance is critical, ther are 15+ concurrent users, or 10,000+ transactions added a year then I would upsize the back end to an SQL Server. You can still use Access for the front end. This way you get eh RAD development with Access and the power of a true client server RDBMS.