How to create a report (invoice)?

I

itmags

I need to create a couple of reports, invoices, credit reports, etc...

My question is: How/what is the best way to go about this using
VB2005 / SQL Server 2000

Crystal Reports? MS Reporting? Home brew using print document?
(Program to be distributed thoughout this office and possibly to a few
other organizations that have expressed an interest).

I've taken a couple of stabs at this and either this is more
complicated that it should be, or I'm oblivious to it's simplicity.
ie, trying to get either of these to print a phone number stored as
5555555555 to print as (555) 555-5555 eludes me. If there is a simple
way to do this, I just can't figure it out.

Crystal Reports has tons of bad rap in the newsgroups for being over
bloated and riddled with bugs and nuances. Conjecture, or the best
tool for the job?
 
N

Nicholas Paldino [.NET/C# MVP]

Quite frankly, if it is a new project, or I am adding reporting to a
project that doesn't have reporting in it already, I will always pick
something other than Crystal Reports. It just sucks in a massive way, and
has not (in my opinion) done what it needs to do in order to make itself a
viable reporting option for .NET solutions.

There are plenty of reporting options out there. ActiveReports is one
that comes to mind. You should be able to google "reporting components" and
come up with a few.

Hope this helps.
 
I

itmags

So, what you're saying is, nothing that ships with VS 2005 is worth
using and I should look at 3rd party $$$ components for reports of any
kind? Discouraging.

I heard MS Small Business Accounting was written in .NET. I guess that
explains why there is no reporting in that app without the
accompaniment of MS Office 2003.
Quite frankly, if it is a new project, or I am adding reporting to a
project that doesn't have reporting in it already, I will always pick
something other than Crystal Reports. It just sucks in a massive way, and
has not (in my opinion) done what it needs to do in order to make itself a
viable reporting option for .NET solutions.

There are plenty of reporting options out there. ActiveReports is one
that comes to mind. You should be able to google "reporting components" and
come up with a few.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

I need to create a couple of reports, invoices, credit reports, etc...

My question is: How/what is the best way to go about this using
VB2005 / SQL Server 2000

Crystal Reports? MS Reporting? Home brew using print document?
(Program to be distributed thoughout this office and possibly to a few
other organizations that have expressed an interest).

I've taken a couple of stabs at this and either this is more
complicated that it should be, or I'm oblivious to it's simplicity.
ie, trying to get either of these to print a phone number stored as
5555555555 to print as (555) 555-5555 eludes me. If there is a simple
way to do this, I just can't figure it out.

Crystal Reports has tons of bad rap in the newsgroups for being over
bloated and riddled with bugs and nuances. Conjecture, or the best
tool for the job?
 
R

randy

If you are using MS SQL, look at MS SQL Reporting Services. It is a great
tool that integrates with VS.


So, what you're saying is, nothing that ships with VS 2005 is worth
using and I should look at 3rd party $$$ components for reports of any
kind? Discouraging.

I heard MS Small Business Accounting was written in .NET. I guess that
explains why there is no reporting in that app without the
accompaniment of MS Office 2003.
Quite frankly, if it is a new project, or I am adding reporting to a
project that doesn't have reporting in it already, I will always pick
something other than Crystal Reports. It just sucks in a massive way,
and
has not (in my opinion) done what it needs to do in order to make itself
a
viable reporting option for .NET solutions.

There are plenty of reporting options out there. ActiveReports is
one
that comes to mind. You should be able to google "reporting components"
and
come up with a few.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

I need to create a couple of reports, invoices, credit reports, etc...

My question is: How/what is the best way to go about this using
VB2005 / SQL Server 2000

Crystal Reports? MS Reporting? Home brew using print document?
(Program to be distributed thoughout this office and possibly to a few
other organizations that have expressed an interest).

I've taken a couple of stabs at this and either this is more
complicated that it should be, or I'm oblivious to it's simplicity.
ie, trying to get either of these to print a phone number stored as
5555555555 to print as (555) 555-5555 eludes me. If there is a simple
way to do this, I just can't figure it out.

Crystal Reports has tons of bad rap in the newsgroups for being over
bloated and riddled with bugs and nuances. Conjecture, or the best
tool for the job?
 
N

Nicholas Paldino [.NET/C# MVP]

No, I said Crystal Reports sucks. That doesn't imply that nothing that
ships with VS 2005 is worth using. It just implies that Crystal Reports
sucks (IMO).

You might want to try SQL Reporting Services.

--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

So, what you're saying is, nothing that ships with VS 2005 is worth
using and I should look at 3rd party $$$ components for reports of any
kind? Discouraging.

I heard MS Small Business Accounting was written in .NET. I guess that
explains why there is no reporting in that app without the
accompaniment of MS Office 2003.
Quite frankly, if it is a new project, or I am adding reporting to a
project that doesn't have reporting in it already, I will always pick
something other than Crystal Reports. It just sucks in a massive way,
and
has not (in my opinion) done what it needs to do in order to make itself
a
viable reporting option for .NET solutions.

There are plenty of reporting options out there. ActiveReports is
one
that comes to mind. You should be able to google "reporting components"
and
come up with a few.

Hope this helps.


--
- Nicholas Paldino [.NET/C# MVP]
- (e-mail address removed)

I need to create a couple of reports, invoices, credit reports, etc...

My question is: How/what is the best way to go about this using
VB2005 / SQL Server 2000

Crystal Reports? MS Reporting? Home brew using print document?
(Program to be distributed thoughout this office and possibly to a few
other organizations that have expressed an interest).

I've taken a couple of stabs at this and either this is more
complicated that it should be, or I'm oblivious to it's simplicity.
ie, trying to get either of these to print a phone number stored as
5555555555 to print as (555) 555-5555 eludes me. If there is a simple
way to do this, I just can't figure it out.

Crystal Reports has tons of bad rap in the newsgroups for being over
bloated and riddled with bugs and nuances. Conjecture, or the best
tool for the job?
 
B

Bruce Wood

I need to create a couple of reports, invoices, credit reports, etc...

My question is: How/what is the best way to go about this using
VB2005 / SQL Server 2000

Crystal Reports? MS Reporting? Home brew using print document?
(Program to be distributed thoughout this office and possibly to a few
other organizations that have expressed an interest).

I've taken a couple of stabs at this and either this is more
complicated that it should be, or I'm oblivious to it's simplicity.
ie, trying to get either of these to print a phone number stored as
5555555555 to print as (555) 555-5555 eludes me. If there is a simple
way to do this, I just can't figure it out.

Crystal Reports has tons of bad rap in the newsgroups for being over
bloated and riddled with bugs and nuances. Conjecture, or the best
tool for the job?

The first question you have to ask yourself is: what is the .NET code
going to do in all of this? Let me outline two scenarios.

Scenario 1: Your .NET code get some data from "somewhere", maybe asks
the user some questions, does some sophisticated computing, and
produces data _on the fly_ that then must be formatted into a report.
Admittedly, an unlikely scenario for something as bland as an invoice.
Call this a "push" scenario. Probably not your case.

Scneario 2: The data is in SQL Server. The .NET code is just to make
the report happen. The report itself is free to pull the data from SQL
Server and do whatever formatting is necessary in order to produce the
report. Call this a "pull" scenario.

If your situation is a "pull" (scenario 2) then I would definitely
investigate SQL Reporting Services first and foremost. I've done some
brief fiddling with it from .NET and once you have the basics figured
out it should be smooth sailing. However, SQL Reporting Services
practically requires a "pull" model: you define the report, put it on
SQL Server, and then the report is responsible for doing the SQL
queries necessary to gather the data. The only data your app gets to
"send" to the report is report arguments... so, a few simple values.

In my company, we're stuck with doing a "push": the application
produces the data on the fly. The report can't pull the data from a
database because the data is never in a database. In a case like this,
SQL Reporting Services "isn't there yet," although if they get this
working I'll be jumping on board.

Instead, we use Crystal. Yes, it has a bad rap, and if you want to do
anything with dynamic images (product catalogs, etc) or with fancy
printer wrangling (selecting input trays, output trays, etc) then
Crystal sucks the big one. However, if all you want is to lay up some
text on a page, and your company is flexible about format (so you can
adapt your format to avoid things that Crystal does particularly badly,
like vertical lines separating columns of text), then it works just
fine. We use it constantly and the only person going nuts is me: I sort
the bugs out beforehand and the users have no problems.

I've heard that Active Reports is also a good package.

So... if you can get away with a "pull", look into SQL Reporting
Services.

If you're stuck with a "push", look into Active Reports, and don't
discount Crystal for doing simple stuff; it's not all _that_ buggy.
 
I

itmags

This was the answer I was looking for. Thank you for the detailed
response. Although I hit a road block when trying to get the phone
numbers to format using MS Reporting, I will persue this avenue more
thoroughly.

How would this be done, if I can ask here? Format the phone number as
mentioned in the previous text.

Also, when you say put the report on the server, it will work with SQL
2000, right? Don't know if we are ready (translation: can afford) to
upgrade to SQL 2005 workgroup just yet.
 
B

Bruce Wood

First, I must admit that I have very, very limited experience with SQL
Reporting Services.

My understanding is that you design a report and that it lives on the
SQL Server. When you want to render that report, you send a request
from your .NET app to the server giving an indication of which report
you want to run and any simple arguments you want to pass it.

The result that comes back is in Windows meta file (WMF) format, which
you can then format into report pages in your app.

At least, the only time I played with this, that is how it worked.

That's why Reporting Services can't do push: you just say, "Report, run
thyself" and it fetches its own data from the database. There no way to
say, "Report, run thyself and here is your data."

Please understand that this is all based on a couple of days' messing
about with the thing. Someone else may post that it doesn't have to
work this way and there are other ways of using it. I don't know.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top