By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,670 Members | 1,558 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,670 IT Pros & Developers. It's quick & easy.

Crystal Reports formulas and Blank reports

P: n/a
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

Jun 27 '08 #1
Share this Question
Share on Google+
6 Replies


P: n/a
On Jun 26, 12:18*pm, "G. Stoynev" <gstoy...@gmail.comwrote:
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?
Jun 27 '08 #2

P: n/a
On Jun 26, 12:26*pm, "Ignacio Machin ( .NET/ C# MVP )"
<ignacio.mac...@gmail.comwrote:
On Jun 26, 12:18*pm, "G. Stoynev" <gstoy...@gmail.comwrote:


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?- 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"
Jun 27 '08 #3

P: n/a

"G. Stoynev" <gs******@gmail.comwrote in message
news:42**********************************@l64g2000 hse.googlegroups.com...
>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.
Jun 27 '08 #4

P: n/a
On Jun 26, 1:14*pm, "Mr. Arnold" <MR. Arn...@Arnold.comwrote:
"G. Stoynev" <gstoy...@gmail.comwrote in message

news:42**********************************@l64g2000 hse.googlegroups.com...


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.-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;"?
Jun 27 '08 #5

P: n/a

"G.S." <gs******@gmail.comwrote in message
news:8b**********************************@34g2000h sf.googlegroups.com...
On Jun 26, 1:14 pm, "Mr. Arnold" <MR. Arn...@Arnold.comwrote:
"G. Stoynev" <gstoy...@gmail.comwrote in message

news:42**********************************@l64g2000 hse.googlegroups.com...


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.-
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.
Jun 27 '08 #6

P: n/a
On Jun 26, 2:33*pm, "Mr. Arnold" <MR. Arn...@Arnold.comwrote:
"G.S." <gstoy...@gmail.comwrote in message

news:8b**********************************@34g2000h sf.googlegroups.com...
On Jun 26, 1:14 pm, "Mr. Arnold" <MR. Arn...@Arnold.comwrote:


"G. Stoynev" <gstoy...@gmail.comwrote in message
news:42**********************************@l64g2000 hse.googlegroups.com....
>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..-
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.- 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!
Jun 27 '08 #7

This discussion thread is closed

Replies have been disabled for this discussion.