you could try rewriting the main reports sql so include the information that the subreport uses, and then format the report so that it gives you what is needed without using the subreport.
If it is possible of course, but in most cases, it is. Why it is taking so long, probably, is that the for every item in the main report, the subreport is being called. If you have 100 items, that is 101 calls to the database. If the network is busy, slow, or there is a lot of data to filter through, all of this can slow the report, and then it needs to format the data. If you can cut the data to 1 call to the database...well speed will increase. Also you can time your sql execution, maybe it is taking a long time and some optimization can be done...it may not all be Crystal's fault.