There is always Sql Reporting services from Microsoft. Other than that Active Reports from
http://www.datadynamics.com is quite full-featured which I've used with success. When I need something simple I use the reporting in MS Access.
Personally when I need to generate complex word reports I just use ASP.NET to generate a document in Words XML format. I create the template in word, fill it with template vars (that I use as markers) and save it in XML format which I then dissect into individual controls and embed in other reports as needed.
Creating custom Word reports in ASP.NET has many advantages:
- it's super quick as your only generating xml markup
- you can use the querystring as different variables in your report
- you get the full power of C# and ASP.NET for your templating and report generation
- avoids licence fees, no installed runtimes are needed and is viewable by anyone with a browser and word