繁体   English   中英

在if语句中的Crystal Report公式问题

[英]Crystal report Formula issue in if statement

我创建了一个水晶报表,并添加了一个公式字段(股票)。
这是我添加到此字段的公式(基本语法):

if not IsNull ({LigneBonLivraison.Quantite}) Then
    {@stock} = {Article.StockActuel} - {LigneBonLivraison.Quantite}
else
    {@stock} = {Article.StockActuel}

但我在此行中收到此错误“此处需要一个语句”:

{@stock} = {Article.StockActuel}-{LigneBonLivraison.Quantite}

那么如何解决呢?

对于绑定使用:=代替=

  if not IsNull ({LigneBonLivraison.Quantite}) Then
{@stock} := {Article.StockActuel} - {LigneBonLivraison.Quantite}
else
{@stock} := {Article.StockActuel}

有关更多信息,请参考此链接If Expressions(水晶语法)

对于基本语法,请在以下条件的末尾使用End If

 if not IsNull ({LigneBonLivraison.Quantite}) Then
    {@stock} = {Article.StockActuel} - {LigneBonLivraison.Quantite}
    else
    {@stock} = {Article.StockActuel}
End If

基本语法中的If-Then-Else语句与前面所述的Crystal语法版本不同。 基本语法遵循基本语言程序员所熟悉的更典型的If-Then-Else-EndIf方法。 特别是,通过引入End If子句,这使得执行多个操作(作为单个If-Then-Else语句的结果)更加直接:

 If <test> Then 
 <statement> 
 <statement> 
 <more statements> 
 Else 
 <statement> 
 <statement> 
 <more statements> 
 End If

另外,您可以使用基本语法ElseIf子句(不要忘记它是一个单词“无空格”),以允许在一个语句中嵌套多个If条件:

If <first test> Then 
 <statements> 
 ElseIf <second test> Then 
 <second test statements> 
 Else 
 <statements if first test fails> 
 End If

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM