Crystal Reports has been around for a long time. Some might say too long. Over its 19 year history its certainly become very widespread, and I have nothing bad to say about its presentation. But 19 years of evolution and attempts at backwards compatibility can play havoc with an object model. A case in point: If you want to attach a reports to a different database at run time - a pretty common occurrence - you have to write surprisingly unlikely code . Its easy enough once you know how to do it, but why isn't there any centralised connection information? Crystal Reports has also changed hands a lot over the years, from being owned by Crystal Services, then Seagate, then Crystal Decisions, then Symantec, then Business Objects and finally SAP. This led to a plethora of different version names, and to make things more complicated, the versions that were bundled with Visual Studio were separate releases in themselves. I haven't found any good summaries of the versions and their
C#, .Net, Sql Server, Salesforce, Dynamics CRM etc, Charity and Not-for-Profit sector