Do you have other things that are running, like perhaps a switchboard form? Have you run code in macros before running the reports?
"Not enough memory" can mean many things.
One past case of 'not enough memory' was because someone had done a lot of xxx.OpenRecordset in one session and had not closed any of them.
Another case was that someone had a class module that dynamically built an array that ate up Access's local memory.
I have also seen the case where there was insufficient space for the swap file because the hard drive was in danger of getting quite full. For a virtual machine, swap space is often counted as memory. Look at your hard drive's properties page to see if you have very low swap space. Less than twice your physical memory size is probably the absolute lowest you should EVER go, and more would be LOTS better.
Finally, how many pages are in the report? I know you said it didn't open. But take a guess. If the number of pages gets big enough, you run out of memory when trying to preview the report because Access has to step through EVERY PAGE in order to count the pages for the "page n of nnnn pages" text so commonly found at the bottom of reports. And those steps eat up memory with great abandon.