views:

59

answers:

2

I working on a winform app and would like the same reports available to others when the reports are edited or modified. Currently when a report is modified I have to re-deploy the app or copy the report file to a folder. I am looking for an alternative.

Super users of the app have the option to go to design mode and edit the report. Is ther a way I can stream the report changes back to a db?...the report file will be stored in the db and when a user opens the app, the report is copied down. What would some of you smart ones recommend?

A: 

Not claiming to be that smart but with allowing of editing it sounds as if you will end up with discrepancies between the generated report and the last saved report. In that case it would be best to have 'report tables' for the report and fill these when the report is generated. When a user wants to edit the report use those tables instead. This allows the user to edit the report but still keep the original values intact, a good idea would also be to audit the changes a user does to the report.

Alternatively just store the report as a doc in the database together with a timestamp.

Anders K.
A: 

I don't know the specific of your situation, so this first idea may not be feasible but I thought I'd put it out there as an idea in case you hadn't thought of it.

Could you do the reports in ASP.Net or SQL Server Reporting Services, and have the Windows app either open the reports via a System.Diagnostoc.Process call or by having one of the forms have a WebBrowser control?

One of the apps I did gave the end users great flexibility in modifying the report criteria. In that situation, they wanted all of the repots to look the same, but report based on different criteria, I wound up giving them a form in the Win App to build the criteria on their own, much like using the Query Designer for SQL Server.

The SQL Server Reporting Services also gives some nice flexibility to the end users. There's some training involved, but if they're building reports now, I don't think the learning curve is very steep.


On a completely different tack, more closely to what you asked, one of the quick and dirty workarounds we came up to a similar situation was to have the reports saved on a web server somewhere so that regular users would open them via http, meaning they couldn't save them to the server. Report editors, on the other hand, were given rights to the repots on the web server via a file share. They could open that share up and edit the reports, then save them in the share. The next time a user opens the report, whether via the http or the shared method, they were getting the latest version.

David Stratton