Regarding using the Viewer with stand-alone reports:<br><br>I create my reports using the .ttx files. This is basically a text file that provides Crystal Reports with the fieldname, datetype, size and sample code. CR then uses these fieldnames to design the report. The reports are saved with the .rpt extension. When I want to display the report, I use VB to get a recordset that I then pass to the report. If I want to change the report, then I change the report only. VB is not affected at all.<br><br>For the "Server not yet opened" problem: I was getting a similar error message and it took me 3 days of digging, talking to Seagate, and driving my co-workers crazy before my husband "helped me to see the light" for my case.<br><br>The reports had multiple subreports and would run great on my PC. When the user tried to run them on their PCs, they would get the "Server not yet opened" error message. Finally, we realized that the main difference between my PC and their PCs was that I had the .ttx files and they didn't(nor should they need them). I copied the .ttx files to one of the user PCs and they were then able to run the reports. While talking to Seagate tech support, I stumbled on the real problem. I had set my VB code, that if no records came back for a subreport, then not to attempt to pass the recordset (of zero records) to the subreport. That meant that the subreport was not receiving any structure and so couldn't run. The reason it was working on my PC was because when it couldn't find structure from the recordset, it would look for and find it from the original .ttx file. The users didn't have the .ttx files, so no structure was available. Seagate didn't know that their reports would do this.<br><br>To fix this, I passed the 0 records recordset to the subreport. Even though no records were passed, the structure was. After that, the reports would run on any PC.<br><br>This may not be exactly like the problem you are having, but maybe it will give you an idea of where to look.<br><br>Good luck.