我有一个数据库字段,我试图在Crystal Reports公式中使用。数据库中的这条记录同时存储了数字和文本值。
示例值。75, 85, 55, 无, 待定。
我试图在一个 Crystal Report 公式中使用这个公式,而报表应该根据这个字段显示一个特定的值。
例如:我想使用这个公式,但它没有在报表中正确显示。
{Database Field Value}>=85 THEN "Exceeds Expectations"
{Database Field Value}>=50 AND <=84 THEN "Met Expectations"
{Database Field Value}<49 THEN "Needs Improvement"
{Database Field Value}="none" THEN "Survey Not Taken"
{Database Field Value}="Pending" THEN "Survey Not Completed"
我试图使用这个公式,但它没有正确地显示在报表中。
IF {Database Field Value} >= TOTEXT(85) THEN "Exceeds Expectations"
ELSE IF {Database Field Value} >= TOTEXT(50) AND {Database Field Value} <= TOTEXT(84) THEN "Met Expectations"
ELSE IF {Database Field Value} < TOTEXT(49) THEN "Needs Improvement"
ELSE IF {Database Field Value}="None" THEN "Survey Not Taken"
ELSE IF {Database Field Value}="Pending" THEN "Survey Not Completed"
ELSE ""
谁能帮助我?
您的公式中存在多个问题
{Database Field Value}>=50 AND {Database Field Value} <=84
ToText()
它仍然是一个文本,而不是作为一个数字来处理。所以,你必须先通过使用 NumericText
函数。如果它包含一个数字,则用 ToNumber
然后将其与相应的数字进行比较。
下面的公式应该会给你想要的结果。
If NumericText({Database Field Value}) Then
If ToNumber({Database Field Value})>=85 Then
"Exceeds Expectations"
Else If ToNumber({Database Field Value})>=50 And ToNumber({Database Field Value})<=84 Then
"Met Expectations"
Else If ToNumber({Database Field Value})<49 Then
"Needs Improvement"
Else If {Database Field Value}="none" Then
"Survey Not Taken"
Else If{Database Field Value}="Pending" Then
"Survey Not Completed"
P. S. : 这个数字 49
将不符合任何条件......也许这是有意为之。