For me, you definitely raise concerns about how many fields you have (255), suggesting your tables may not be normalized. Also, if there are only a few fields from the main query showing up on a subform, that also suggests a design problem. Sub forms are typically used as a many display for the one (main form details) and have their own record sources. The fact that you are getting these sub form details from the main form query also suggests normalization/design issues. Put all this together, along with several calculated fields (the ones with IIF statements) means that Access is going through a huge amount of fields and applying calculations to get data and doing this for every record in some master table instead of ignoring data that it doesn't need when it has been normalized. I would not have been surprised if you said it took 45 minutes, not 45 seconds. Maybe your record limit hasn't reached a critical point yet. I presume these sub forms are not nested, but you don't say much about them. There is a limit as to how many controls you can have on a form regardless of nesting which I believe is 754. With 255 in the main form, you might have exceeded the limit. One more thing - if there is a bunch of information that shows up on every version of the form, why query it each time? It ought to be a label or some other method that is more efficient.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.