Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


Ordering of Ship Dates

Ordering of Ship Dates

Ordering of Ship Dates

Using Crystal Reports version 14.0.4 reporting off an Access 2000 table

Hopefully the length of this question will not scare most folks off.

Working on a report that shows the items on an order and when the item ships. The items in question are highly specific and not used often so we frequently ship what we have and backorder the balance. Sometime it may take us several shipments before we have the order shipped complete.

Have a manager requesting a report to show shipments of these items and he is asking for the ship dates to be listed like I have below.
Order# | Product # | Qty Ordered | Ship Date 1 | Ship Date 2 | Ship date 3 | Ship date 4 | Ship date 5 |

Looking for suggestions of how to determine which Ship date bucket to populate.

As I see it, determining the Max or Min is easy but being able to determine the others is not as easy as the formula needs to know that a date has or has not been evaluated already.

Is this something Crystal can handle? If yes, how. If not I suppose it will need to be determined in the database which will create more questions.


RE: Ordering of Ship Dates

Yes, this can be done. Try this:

1. Group by Order# and also by Product#. Sort by ship date within the Product# group.
2. Suppress the product group header and the details section.
3. Create a formula that will store the dates to an array - something like this:

DateVar Array shipDates;
If PreviousIsNull({Product#}) or {Product#} <> previous({Product#}) then
redim shipDates[1]; //Initialize the array to a single element
else redim preserve shipDates[UBound(shipDates) + 1];
shipDates[UBound(shipDates)] := {ship date value};

4. Put this formula in the suppressed details section (it will still evaluate)
5. Create a formula for each date column you need for the report. The first one will be this:

DateVar Array shipDates;

The others will look like this (increase the number by one to get the value, if it exists, for each column):

DateVar Array shipDates;
if UBound(shipDates) >= 2 then shipDates[2]

6. Put the data for the product in the Product# group footer, using the formulas for the date columns.


DecisionFirst Technologies - Seven-time SAP BusinessObjects Solution Partner of the Year

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close