Crystal Reports formulas and Blank reports

  • Thread starter Thread starter G. Stoynev
  • Start date Start date
G

G. Stoynev

I can't seem to be able to prevent a Crystal Reports formula to
evaluate an expression when the report contains no records to show.

Here's the formula (DateTransferred is a DateTime column):

If IsNull({MyReportDataSet.DateTransferred}) Then
" " //empty string
Else
If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
" " //also pring an empty string - 1/1/1900 means "no date was
selected"
Else
ToText({MyReportDataSet.DateTransferred}, "MM/dd/yyyy");



It looks that even if IsNull returns true, Crystal is still trying to
evaluate this line
If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
which is causing the error "A date is required here" to be displayed.

I tried changing Report Options -> Convert DBNull to Default, bub that
didn't help.

I'd appreciate any help/advice

Using Crystal that comes w/ VS 2005
 
I can't seem to be able to prevent a Crystal Reports formula to
evaluate an expression when the report contains no records to show.

Here's the formula (DateTransferred is a DateTime column):

If IsNull({MyReportDataSet.DateTransferred}) Then
   " " //empty string
Else
   If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
      " " //also pring an empty string - 1/1/1900 means "no date was
selected"
   Else
      ToText({MyReportDataSet.DateTransferred}, "MM/dd/yyyy");

It looks that even if IsNull returns true, Crystal is still trying to
evaluate this line
If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
which is causing the error "A date is required here" to be displayed.

I tried changing Report Options -> Convert DBNull to Default, bub that
didn't help.

I'd appreciate any help/advice

Using Crystal that comes w/ VS 2005

how do you know if isnull is returning true?
 
how do you know if isnull is returning true?- Hide quoted text -

- Show quoted text -

if I modify the formula like that (eliminate the problematic
expression)I see "no data" printed:
If IsNull({MyReportDataSet.DateTransferred}) Then
"no data" //empty string
Else
"some data"
 
G. Stoynev said:
I can't seem to be able to prevent a Crystal Reports formula to
evaluate an expression when the report contains no records to show.

Here's the formula (DateTransferred is a DateTime column):

If IsNull({MyReportDataSet.DateTransferred}) Then
" " //empty string
Else
If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
" " //also pring an empty string - 1/1/1900 means "no date was
selected"
Else
ToText({MyReportDataSet.DateTransferred}, "MM/dd/yyyy");



It looks that even if IsNull returns true, Crystal is still trying to
evaluate this line
If ({MyReportDataSet.DateTransferred} = CDate("1/1/1900")) Then
which is causing the error "A date is required here" to be displayed.

I tried changing Report Options -> Convert DBNull to Default, bub that
didn't help.

I'd appreciate any help/advice

It seems to me that you should short-circuit the IF statement if IsNull
(remove the ELSE off the ISNull) and just come out of the formula return a
null string, a separate if for the null check.

If it's not ISNull, then do the other part of the formula, fall through.
 
It seems to me that you should short-circuit the IF statement if IsNull
(remove the ELSE off the ISNull) and just come out of the formula return a
null string, a separate if for the null check.

If it's not ISNull, then do the other part of the formula, fall through.-Hide quoted text -

- Show quoted text -

You mean:
If (IsNull({MyReportDataSet.DateTransferred})) Then
"no data";

If (Not IsNull({MyReportDataSet.DateTransferred})) Then
(
If ({MyReportDataSet.DateTransferred} <> CDate("1/1/1900")) Then
"good data - date has been selected"
Else
"deliberately not selected";
)

??
Is there a way to force-exit from Crystal formula? Something like
"return;"?
 
It seems to me that you should short-circuit the IF statement if IsNull
(remove the ELSE off the ISNull) and just come out of the formula return a
null string, a separate if for the null check.

If it's not ISNull, then do the other part of the formula, fall through.-
Hide quoted text -

- Show quoted text -

You mean:
If (IsNull({MyReportDataSet.DateTransferred})) Then
"no data";

If (Not IsNull({MyReportDataSet.DateTransferred})) Then
(
If ({MyReportDataSet.DateTransferred} <> CDate("1/1/1900")) Then
"good data - date has been selected"
Else
"deliberately not selected";
)

??
Is there a way to force-exit from Crystal formula? Something like
"return;"?


When you're in the language IDE for creating the formula is there *return*
there for the function you can choose? It's been many years since I last saw
Crystal.

That statement by itself will exit the formula if it's true and return "no
data", if I recall correctly.

If (IsNull({MyReportDataSet.DateTransferred})) Then
"no data";


I guess you got that email instead of this post, since I didn't get a not
delivered email.
 
You mean:
If (IsNull({MyReportDataSet.DateTransferred})) Then
    "no data";

If (Not IsNull({MyReportDataSet.DateTransferred})) Then
(
    If ({MyReportDataSet.DateTransferred} <> CDate("1/1/1900")) Then
        "good data - date has been selected"
    Else
        "deliberately not selected";
)

??
Is there a way to force-exit from Crystal formula? Something like
"return;"?

When you're in the language IDE for creating the formula is there *return*
there for the function you can choose? It's been many years since I last saw
Crystal.

That statement by itself will exit the formula if it's true and return "no
data", if I recall correctly.

If (IsNull({MyReportDataSet.DateTransferred})) Then
    "no data";

I guess you got that email instead of this post, since I didn't get a not
delivered email.- Hide quoted text -

- Show quoted text -

Thank you for your help!
No, I didn't see a return statement in any of the canned functions/
operatorrs list in the IDE. The Crystal Reports help in VS2005 Help is
not helpful at all... I tried to guess a few times Exit, Return,
Stop... no avail.

I've used crystal enterprise in the past and have never encountered
that problem. This is typical Crystal stuff - not intuitive and hard
to debug/find help. Thanks again!
 

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

Back
Top