Crystal reports 晶体报表席如果语句不工作:不去其他 >在水晶报表席上,我有一个问题: if语句。

Crystal reports 晶体报表席如果语句不工作:不去其他 >在水晶报表席上,我有一个问题: if语句。,crystal-reports,Crystal Reports,这是我的代码: IF {ANAGRAFICACF.CODLINGUA} = {DESCRARTICOLI.LINGUA} THEN {DESCRARTICOLI.DESCRIZIONEAGG} ELSE {RIGHEDOCUMENTI.DESCRIZIONEART}; 问题是Crystal Reports只检索条件已验证的行,而完全忽略else条件。因此,如果在我的文档中有10行,它将向我显示唯一2行已验证条件。 你能解释一下原因吗?我想这没关系。这只是一个简单的if语句 如您要求

这是我的代码:

IF {ANAGRAFICACF.CODLINGUA} = {DESCRARTICOLI.LINGUA}
THEN
  {DESCRARTICOLI.DESCRIZIONEAGG}
ELSE
   {RIGHEDOCUMENTI.DESCRIZIONEART}; 
问题是Crystal Reports只检索条件已验证的行,而完全忽略else条件。因此,如果在我的文档中有10行,它将向我显示唯一2行已验证条件。 你能解释一下原因吗?我想这没关系。这只是一个简单的
if语句

如您要求,我们将提供更多详细信息:

我也试过这个密码

    IF NOT ISNULL({DESCRARTICOLI.DESCRIZIONEAGG}) AND {TESTEDOCUMENTI.CODLINGUA} <>0 
THEN
{DESCRARTICOLI.DESCRIZIONEAGG}
ELSE
{RIGHEDOCUMENTI.DESCRIZIONEART}
IF NOT ISNULL({DESCRARTICOLI.descripioneagg})和{TESTEDOCUMENTI.CODLINGUA}0
然后
{DESCRARTICOLI.descripioneagg}
其他的
{RIGHEDOCUMENTI.descripioneart}
对于最后一段代码,我有以下结构: TESTEDOCUMENTI.CODLINGUA与所有其他表中的一样是数字。所以英语的默认值是“1”,而英语的默认值是“0” DESCRARTICOLI.descripionEAGG是翻译,所以在DESCRARTICOLI中 例如,我有CODART CODLINGUA DESCRARTICOLI(文章代码、语言代码、文章翻译描述) RIGHEDOCUMENTI.DescriptionEart是我在ERP中看到的标准意大利语描述。所以我有不同的专栏,包括IDRIGA CODART DescriptionEart(行ID、文章代码、意大利语描述) 然后我测试了Documenti表,其中包含列之间的语言CODLINGUA。此表具有单个文档的常规设置。 因此,在我的Cristal报告表设置中,我将Documenti TESTEDOCUMENTI和DESCRARTICOLI的3个表,特别是TESTEDOCUMENTI.CODLINGUA与DESCRARTICOLI.CODLINGUA和RIGHEDOCUMENTI.CODART与DESCRARTICOLI.CODART链接起来

如果翻译未存储在erp中的文章中,则此文章代码的DESCRARTICOLI.descripioneAgg不存在。例如如果我的代码在原文档中是“abg”,我的代码“abg”描述为“再见”。然后在《描述》中,我用CODART“abg”和CODLINGUA“1”来描述“hI”。如果未存储翻译,则DESCRARTICOLI中的行不存在

因此,我需要验证TESTEDOCUMENTI.CODLINGUA是否不同于“0”默认语言,但这还不够,因为我的大部分文章都没有存储翻译。所以我需要展示,意大利语的,或者一条简单的信息告诉我“没有翻译存储”。我也试着把这个消息,而不是原来的文档I.descripioneart,但它没有出现

另一件奇怪的事情是,在我的文档中,在同一行中,我还在报告中的单独字段中添加了代码艺术、度量和价格。如果我直接在没有If语句的情况下放入RIGHEDOCUMENTI.DescriptionEART,我会看到所有这些字段。取而代之的是,我把if语句放进去了,我看不到任何其他字段

似乎第一个想法是读取翻译表DESCRARTICOLI,它不会返回来读取原始表,因此通过行结束循环,而不读取RIGHEDOCUMENTI表中存储的所有参数,其中包含报告中未显示的所有数据

我希望现在已经更清楚了。
谢谢大家!

您确定
RIGHEDOCUMENTI.descripioneart
拼写正确和/或有数据吗?可能需要检查的一件事是在else子句中临时添加一个硬编码字符串(例如“I am else!”),以查看该字符串是否出现在输出中。DescriptionEART始终有一个值。相反,DescriptioneAgg可能为空。它们位于由codeart链接的两个不同表中。当我从我的erp编译报告时,我只获得了带有descripioneAgg的行,但没有人没有。是的,我也试过放“nodata”,但看起来不一样。我用codeart内部联接链接表,用同一个表的语言字段和客户表的语言字段也用内部联接链接表。你能在这些字段{ANAGRAFICACF.CODLINGUA}和{DESCRARTICOLI.LINGUA}上发布数据类型吗?如果你使用的是其他语言或IDE,你能添加一些细节,比如数据源类型吗,或者其他细节来提供更多的上下文?我已经更新了我的第一篇文章。非常感谢。