Back in the early 1990s or thereabouts I had my first experience with Visual Basic Version 3. It was an eye opener for me and I have been a fan of Visual Basic ever since. I now use VB.NET and it has evolved into a robust environment for developing Windows commercial applications.
However, it has always come bundled with Crystal Reports.
When I first started using and learning VB I thought that Microsoft knew what they were doing and since Crystal Reports came with VB then that is the way to write reports. I don’t think I have ever, before or since, become thoroughly disillusioned so quickly. Crystal Reports was unusable, incomprehensible, and even though it was given away, it was still overpriced.
I vowed never to use it again. And for over 10 years I have stuck to my promise. VB versions 4, 5 and 6 all came out and all had Crystal Reports bundled in, and I scrupulously avoided it.
When I got hold of Visual Studio 2003, of course I got Crystal Reports. I think it was version 8.something. And of course, I ignored it.
The time came, however, when I would need some kind of reporting tool. So I wrote my own. But it was very simple, and because it was written for a specific project it wasn’t very flexible. Recently I had to write an application which needed reporting and my reporting library wasn’t up to it. So I had two choices. I could re-write my own report generator, but that would have been a big job, or I could try Crystal Reports again.
I foolishly chose the latter course.
But I must justify my decision. There were a number of reasons for going with Crystal Reports this time.
- It was over 10 years since I had first tried it. Surely it would have improved by now.
- I needed to produce reports in both Word format and as PDFs.
- I was in a hurry.
Let’s look at these in turn. First, I think it is quite reasonable to assume that software will improve over time. Everyone has written bad software – I know that I have. Often you aren’t aware of the problems until someone has used it for a while and then pointed out where it could be improved. I can’t remember all the problems I had with the earlier version 10 years ago, but it still doesn’t work.
My report generator only produced straight text files and these weren’t acceptable for the application I was writing. An earlier version of this app wrote to Word files, and while this is a somewhat cumbersome thing to write it can be done quite simply. But I have never created PDF files before and I didn’t think I had time to find out how. Although, when I do get some time, this is something that I will investigate. However, I also hate PDF (I am a great hater!) But you have to produce what the client wants. And Crystal Reports can produce both Word and PDF files.
I was in a hurry so I thought that Crystal Reports would save the day. It took me four days to produce a simple one page report containing three sub-reports.
I looked at the documentation that came with Crystal Reports. It didn’t help. I searched the web and found very little to help. I went to the Business Objects (the company that now owns Crystal Reports) web site and looked at their documentation. Mostly I found sales guff on why I should upgrade to version 11. You’ve got to be joking!
I then went to the forums on their web site. After all, there must be other users who have had the same problems that I have had. And there were. Under the section for Crystal Reports for Visual Studio .NET I found 521 pages of posts, over 5,000 threads. And there were lots of posts describing the problems that I was having. But there were no answers. The only replies to posts that I found were a lot of people saying that they had the same problem and was there a solution yet. Then I came across this:
Do they post answers on this forum? All I ever seem to see are questions.
To which was posted this reply:
If they don’t post answers, then you have to call and give them $95. What possible motivation do they have to post.
I eventually got my reports to work. Business Objects were no help. They will all suffer 7 eternities in hell as penance for their lousy product and even worse support.