使用基本语法“'THEN'Missing”

时间:2016-01-15 21:35:55

标签: vba if-statement crystal-reports

我收到错误“THEN”错过了 如果我玩格式化,我最终会把它突出显示ELSE IF一直到公式=行。

我附上了截图,以显示我对高亮显示的含义。 我已经意识到水晶报告有时会对格式有所了解,任何人都可以提供洞察力或正确的方法来使这个公式有效吗?

提前致谢!

 dim qtyavailable as number



IF ISNULL({HB_AVAILABLE_QTY_SKU\\.AVAIL}) 
    THEN qtyavailable = 0

        ELSE IF ({HB_AVAILABLE_QTY_SKU\\.AVAIL}) = 0
                AND ({INVENTORY_PART\\.PRIME_COMMODITY}) 
                LIKE FLY* OR SPC* 
        THEN "NA" 

            ELSE IF {SHOP_MATERIAL_ALLOC\.QTY_REQUIRED} = {SHOP_MATERIAL_ALLOC\.QTY_ASSIGNED} 
            THEN qtyavailable = {HB_AVAILABLE_QTY_SKU\\.AVAIL}+{SHOP_MATERIAL_ALLOC\.QTY_ASSIGNED}

                ELSE qtyavailable = {HB_AVAILABLE_QTY_SKU\\.AVAIL}
                END IF

        END IF

END IF

formula = qtyavailable

else if error crystal reports

1 个答案:

答案 0 :(得分:1)

你需要拥有"那么"和" IF"在同一条线上因此,if语句的修改伪代码类似于:

IF ISNULL({foo}) THEN 
    qtyavailable = 0
ELSE 
    IF ({foo}="0" AND {foo} LIKE "1") THEN 
        ' do nothing
    ELSE 
        IF {foo} = {bar}  THEN 
            qtyavailable = 2
        ELSE 
            qtyavailable = 3
        END IF
    END IF
END IF