Crystal reports Crystal Reports 2008-更改背景颜色

Crystal reports Crystal Reports 2008-更改背景颜色,crystal-reports,crystal-reports-2008,Crystal Reports,Crystal Reports 2008,我有一个子报告,在组页脚中有一个字符串,我正试图使用以下代码更改背景颜色 如果WorkID等于Technical.WorkID或Development.WorkID,则颜色代码有效,但其他项目为纯黑色 如果WorkID不等于Technical.WorkID或Development.WorkID或null,则“我的报告”为空 if {?Pm-DB.ID}={Work.Num} and {Work.WorkID}<>{Technical.workId} and {Work.WorkI

我有一个子报告,在组页脚中有一个字符串,我正试图使用以下代码更改背景颜色

如果WorkID等于Technical.WorkID或Development.WorkID,则颜色代码有效,但其他项目为纯黑色

如果WorkID不等于Technical.WorkID或Development.WorkID或null,则“我的报告”为空

if 
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}<>{Technical.workId}
and {Work.WorkID}<>{Development.WorkId} Then crNoColor
else if
(
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Development.WorkId} 
and {Development.PlanName}={Project.ProjectName}
and {Development.devStatus} = "R" )
then crRed
else if (
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Development.WorkId} 
and {Development.PlanName}={Project.ProjectName}
and {Development.devStatus} = "A" )
then crYellow
else if (
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Tech.workId}
and ({Resource.Team Name}like "Tech*") 
and {Technical.TechStatus} = "R" )
then crRed
else if (
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Tech.workId}
and ({Resource.Team Name}like "Tech*") 
and {Technical.TechStatus} = "A" )
then crYellow
else if (
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Tech.workId}
and ({Resource.Team Name}like "QA*") 
and {Technical.TechStatus} = "R" )
then crRed
else if (
{?Pm-DB.ID}={Work.Num} 
and {Work.WorkID}={Tech.workId}
and ({Resource.Team Name}like "QA*") 
and {Technical.TechStatus} = "A" )
then crYellow

你必须用ISnull来显式地检查NULL,否则公式会放弃。

< P>我想你需要你的另一部分语句来工作,如果你不想给空白记录加颜色的话。只需在您的else语句中包含crNone或crWhite即可

希望这有帮助


Joven

我确实在开头添加了以下代码,子报表仍然没有显示任何结果:如果isnull{Development.WorkId},那么crNoColor,否则如果isnull{Technology.WorkId},那么crNoColorMy向Work、Development和Technology表发出我使用的是内部联接,而不是左外部联接。