MikeM670
asked on
Dynamic Image won't display if no data is returned
Crystal Reports XI
MS SQL 14
Thanks to everyone's help I have the dynamic images displaying properly. I'm trying to make the reports look more polished if the search fails to return data. I have encountered and old issue from the past where no data is returned from a query the Image will not display. This also affected a formula that I used to display department name and address information in the header.
To inform the user I already know how to display an information message if no data is returned.
MS SQL 14
Thanks to everyone's help I have the dynamic images displaying properly. I'm trying to make the reports look more polished if the search fails to return data. I have encountered and old issue from the past where no data is returned from a query the Image will not display. This also affected a formula that I used to display department name and address information in the header.
To inform the user I already know how to display an information message if no data is returned.
ASKER
I tried the textbox message suggestion and it will display a "No Data Message" if no data is returned but the image and formula to display the department name and address do not display? Do I need to set something for the dynamic image or the formula?
Mike
Mike
Where are the image and formula located? Which section(s)? You mentioned a header, but is that for the group, page or report?
What's in the formula?
James
What's in the formula?
James
ASKER
The image and formula are both located in the Report Header.
The formula for displaying the department info is:
local stringvar Line1;
local stringvar Line2;
local stringvar Line3;
local stringvar Line4;
if not(isnull({Agency.Departm entTitle}) ) and trim({Agency.DepartmentTit le}) <> ""
then Line1 := {Agency.DepartmentTitle};
if not(isnull({Agency.StreetN umber})) and trim({Agency.StreetNumber} ) <> ""
then Line2 := {Agency.StreetNumber} & " ";
if not(isnull({Agency.StreetP refix})) and trim({Agency.StreetPrefix} ) <> ""
then Line2 := Line2 & {Agency.StreetPrefix } & " ";
if not(isnull({Agency.Street} )) and trim({Agency.Street}) <> ""
then Line2 := Line2 & {Agency.Street} & " ";
if not(isnull({Agency.StreetS uffix})) and trim({Agency.StreetSuffix} ) <> ""
then Line2 := Line2 & {Agency.StreetSuffix} & " ";
if not(isnull({Agency.City})) and trim({Agency.City}) <> ""
then Line3 := {Agency.City} & " ";
if not(isnull({Agency.State}) ) and trim({Agency.State}) <> ""
then Line3 := Line3 & {Agency.State} & " ";
if not(isnull({Agency.Zip})) and trim({Agency.Zip}) <> ""
then Line3 := Line3 & {Agency.Zip} & " ";
if not(isnull({Agency.Phone}) ) and trim({Agency.Phone}) <> ""
then Line4 := "Telephone: " & {Agency.Phone} & " ";
if not(isnull({Agency.Fax})) and trim({Agency.Fax}) <> ""
then Line4 := Line4 & ' * ' & "Fax: " & {Agency.Fax} & " ";
Line1 & chr(13) & Line2 & chr(13) & Line3 & chr(13) & Line4;
For the dynamic image based on the parameter.
Format Editor\Picture\Graphic Location: is the following formula
if {CaseMaster.Agency} = {?Agency} then
{Agency.ReportImageURL}
else
'\\PSIMS\PSIMSReportImages \DefaultBl ank.png'
Mike
The formula for displaying the department info is:
local stringvar Line1;
local stringvar Line2;
local stringvar Line3;
local stringvar Line4;
if not(isnull({Agency.Departm
then Line1 := {Agency.DepartmentTitle};
if not(isnull({Agency.StreetN
then Line2 := {Agency.StreetNumber} & " ";
if not(isnull({Agency.StreetP
then Line2 := Line2 & {Agency.StreetPrefix } & " ";
if not(isnull({Agency.Street}
then Line2 := Line2 & {Agency.Street} & " ";
if not(isnull({Agency.StreetS
then Line2 := Line2 & {Agency.StreetSuffix} & " ";
if not(isnull({Agency.City}))
then Line3 := {Agency.City} & " ";
if not(isnull({Agency.State})
then Line3 := Line3 & {Agency.State} & " ";
if not(isnull({Agency.Zip})) and trim({Agency.Zip}) <> ""
then Line3 := Line3 & {Agency.Zip} & " ";
if not(isnull({Agency.Phone})
then Line4 := "Telephone: " & {Agency.Phone} & " ";
if not(isnull({Agency.Fax})) and trim({Agency.Fax}) <> ""
then Line4 := Line4 & ' * ' & "Fax: " & {Agency.Fax} & " ";
Line1 & chr(13) & Line2 & chr(13) & Line3 & chr(13) & Line4;
For the dynamic image based on the parameter.
Format Editor\Picture\Graphic Location: is the following formula
if {CaseMaster.Agency} = {?Agency} then
{Agency.ReportImageURL}
else
'\\PSIMS\PSIMSReportImages
Mike
What is the formula supposed to produce if there is no data? DepartmentTitle, etc. will all be null/blank, right? If so, there's nothing to show.
Same thing for the image. CaseMaster.Agency will presumably be null/blank. If you just want DefaultBlank.png to show up and it's not, you may just need to add an IsNull test on CaseMaster.Agency .
James
Same thing for the image. CaseMaster.Agency will presumably be null/blank. If you just want DefaultBlank.png to show up and it's not, you may just need to add an IsNull test on CaseMaster.Agency .
James
ASKER
Maybe I'm not explaining myself properly or not understanding what your saying. There will always be at least one agency in the database with information and a related logo. I want the Image and formula to always display the Image and department information even if the Report Selection Query fails to return any data.
Use IF THEN Else to check for IsNull and return the static path to the default department logo if the data is NULL.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Is the report based on tables joined in Crystal or is it a view or command?
mlmcc
mlmcc
ASKER
The report is based on tables joined in crystal.
ASKER
I used the sub report method. I would of preferred not having to do it that way as I needed to use two sub reports. One for the logo image and one for the formula. I had to do it that way in order to make room for other formulas and the report title to be shown below the department display formula.
Open in new window
Another way would be to create a formula and put it in the report header like
Open in new window
mlmcc