It depends how much work want to put in. If you’re using SQL Server 2000 then you might want to look into its Reporting Services which can handle quite a bit.
If you really want to save money and you have time to code, check out a product called ActiveReports by Data Dynamics. It’s a series of objects that permit you to build reporting services and it’s not very expensive. It does, however, require more coding.
As for exporting to Excel and Word, you can actually do that from HTML by modifying the response headers(This would export the HTML to these formats). Also if you’re coding in VB/VB.net or any other microsoft environment, you can use VBA or COMs to create Excel and Word Documents.
Be careful if using MS Access. You are using an enterprise level database (SQL Server) and you would be tunneling your reports through a product that, even though, can create reports very easily, is not very robust at handling concurrent connexions (It usually dies at about 10 concurrent users).
Hope this helps,