My largest Access Application was an ERP for a Manufacturing and Servicing Business that had 80 Branch Plants that manufactured anything from Household Products to High-end Furniture. It handled A/R, A/P, Bill of Materials, Work Order Production, Sales, Automated Inventory, Monthly, Quarterly, and Annual Reports, Budgeting, Contracts. It had FIFO, LIFO, Weighted Average, and Standard Cost Accounting Methods. It also had a Unit of Measure converter so that Products could be Purchased, Issued, and Sold in different Measures. It integrated with designing software such as AutoCAD and MasterCAM. It maintained seven different Inventory Types, Capital Assets, Fixed Assets, Finished Goods, Raw Materials, Consumables, Maintenance and Repair, Small Tools and Equipment.
My experience with Microsoft Office began with Access 1.5 in 1991. The Application began with MO 3.0 in 1993. My background as a bean counter led me to simplify our accounting for manufacturing and was the beginning of IT aspirations.
The Application had morphed and evolved over the years and through the next 17 years to Office 2010 and was still running when I retired. The Data was split in 1997 and moved to SQL Server in 2000. At my retirement it had migrated to SQL Server 2008r2. Initially the Application ran separately in each Branch Plant. With the Internet and SQL Server, a Data Server was setup to harness all Branch Plants. Corporate maintained a Master Inventory and Master Contracts separately until the data was merged with SQL Server.
Initially updates were delivered via Floppy Disks. Once the WAN was setup, I created an Update System similar to modern day Updating methods. It became a fairly seamless operation.
The Application tracked Screen/Object usage, where all Open Methods were sent through a single handler, that recorded a history of the object, and who was using it. This allowed us to see who was doing what and it enabled us to a create a custom menu system tailored to the specific User.
When I retired, the application had over 1,500 Screens and 3,000 Reports. Tables were highly efficient and most of the Queries in Access were migrated as VIEWS in SQL Server. With the power of Triggers and Stored Procedures, a lot of bloat could be removed from the Access Front End. When we migrated the Data to SQL Server, the Access BE was 500mb. That would be the average for all 80 Branches. I think all total was around 50gb. When I retired in 2010, there was over 600gb.
Some of the tricks of making the Application run Faster:
1) Strip out Commenting in the Production Version
2) Remove Code Nesting in VBA in the Production Version.
3) Remove as much Whitespace as possible in the Production Version
4) Convert the Production Version to an MDE/ACCDE.
5) Make VBA Code as re-usable as possible.
6) Avoid writing unnecessary VBA Code when the same function could be performed in an ACTION Query or Stored Procedure.
7) Make sure all VBA Code has an Error Handler and Logging System.
8) One of the biggest over-rated features in Access is the ability to create Class Modules. In my opinion, they are not worth the time and effort. I would only create them when I felt something could not be accomplished easier or faster.
9) Disable Auto-name Tracking and Logging in the production version.
Some of the Tricks of making an Application Smarter:
1) Implement a Global Variables Table that is maintained from the Server
2) Create VIEWS to see all System Objects in SQL Server connected to your FE
3) Create a method to automatically Link to Tables and Views, that will also create a Query and a basic Form. This will reduce your development time by 15 minutes for each.
4) Create a Chat System.
5) Reduce dependency on external Systems by integrating them into the Application.
I am a professional freelancer in my retirement... ha ha.... retirement. I do not have much time to comment in the forums. My skills are highly sought after. Since my retirement in 2010, I have earned more than double in just 12 years than I did in my 20 years before retiring.
Access is by far the most cost-effective software for just about any business. Even if a Customer pays $15,000 for an Application, it belongs to the Customer, it is not full of unnecessary bloat and has all the features that the Customer wanted, unlike most anything else that is purchased off the shelf of subscribed to.