We are in the process of rewriting some reports that we currently have in a Windows desktop application. Right now we call a 3rd party application that produces the reports and then we show them in a 3rd party report viewer. These are all called from a .Net Windows application. We like to get rid of both of these 3rd party programs as they are outdated. I've been reading up on the Report Viewer control which is already in my .Net toolbox and Microsoft Report Builder. Can someone give me the definition of both and do I have to have both. I've taken just the viewer control and placed it on a form and hooked it to a database. From there I was able to select which fields I wanted to see and it produced output in that control on the form. Is that all I need for writing reports or do I need to build the report first in Builder and then display it in the viewer. If that's the case, can I pass parameters from .Net to builder inside my desktop application and then display on a form in that app that has a viewer control. I've also read about the SSRS reporting service. We'd like to be able to produce and view reports from .Net without every having to leave the application and go somewhere else to build and view. Everything I've done up to this point has been with flat files so this is new thinking to me.