One more source for Can’t open any more databases
Error message 3048 "Can’t open any more databases" typically occurs when you often call CurrentDB. But one more case when it can happens – if DLookup() functions (like DFirst(), DMax(), etc) are called many times. I was hit by this error in Access report with subreport. Subreport had a call to DFirst(), and when user run report several times plus made report export to PDF – error occurred in very odd places. Look at Allen Browne Extended DLookup() for a replacement.