[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 313
  • Last Modified:

Using Crystal Reports 11 and I need to display 20 rows where the database may supply any number of rows upto 20.

Hi.

I'm converting a Sage Retrieve 4GL based report to Crystal in conjunction with PHP and COM to produce a PDF.

This report prints a "collection ticket". Each ticket has upto 20 items (with additional data). This is a hand written document which is scanned and stored and then hand entered into the system for processing.

Once entered and verified a tidy copy is printed and used internally or snail mail posted.

The report prints a line saying [Nothing received] where the line is blank.

So, on a collection ticket with 3 items on it, there will be 17 [Nothing received]s.

How do I get Crystal to report non existent data?

I'm new-ish to Crystal, but point me in the right direction and I'll have a go.

Richard.
0
Richard Quadling
Asked:
Richard Quadling
  • 3
  • 3
1 Solution
 
mlmccCommented:
One idea that comes to mind is to add a group to the report.
Group on the Ticket ID

Suppress the group header

Add a formula to the group footer
WhilePrintingRecords;
Local NumberVar i;
Local numberVar RecordCount;
Local StringVar NoItemList := '';

RecordCount := 20 - Count({TicketId},{TocketId});
For i := 1 to RecordCount do
     NoItemList  := NoItemList & "[Nothing received]" & chr(13);

NoItemList := Left(NoItemList,Length(NoItemList)-1);
NoItemList

Suppress the group footer with
Count({TicketId},{TocketId}) = 20

mlmcc

0
 
mlmccCommented:
This may be a slightly incorrect formula
Count({TicketId},{TocketId});

To get the correct one insert a summary on you ItemListId field in the group footer.
When you want to use it simply select it from the Report Fields

mlmcc
0
 
Richard QuadlingSenior Software DeveloperAuthor Commented:
I get it. This will take me a little while to set up (I've got the web side to do first). Probably not get around to this until tomorrow.
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
Richard QuadlingSenior Software DeveloperAuthor Commented:
So, rather than have ...

Page Header
 Details
Page Footer

Have

Page Header
 Group Header (supressed)
  Detail (from DB)
 Group Footer (with formula to create a block of text)
Page Footer

And by having the block of text printed, I get my [Nothing received]s.

Yes?
0
 
mlmccCommented:
It should work.

mlmcc
0
 
Richard QuadlingSenior Software DeveloperAuthor Commented:
Ah! I just checked with the users if they wanted the blank lines. And they said no. ARGH!!! I asked why they had them on the other system (which I wrote for them over 10 years ago), they said they didn't know it could be changed.

I'm really having one of those weeks.

And I get home tonight, after telling them that this will be finished tomorrow, and what do I find? My wife just starting labour. So I think from now on I'm going to have to start quoting truly Scotty estimates for everything. No matter how simple or even if it has already been done. Nothing less than 2 days. But with the possibility of longer if they keep changing their mind.

Thanks Michael for the pointers.

I only recently got around to using CR, so the odd stuff is not so obvious yet. So be prepared for a LOAD of maybe daft questions.

Thanks again.

Richard.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now