在Crystal Report命令中使用if语句

时间:2014-04-03 21:52:51

标签: sql vb.net if-statement crystal-reports

我有一个水晶报告,可以读取不同的存储过程,具体取决于所引入的参数。我在向导中创建它时失败了(抱怨type1不是一个collumn)。两个过程都使用包含的日期并返回类似的数据。

    if {?Type} = "Type1"
   Begin
      exec storedprocedure1 
   End
else if {?Type} = "Type2"
   Begin
      exec storedprocedure2 
   End

      @DateFrom={?DateFrom}
     ,@DateTo={?DateTo}

1 个答案:

答案 0 :(得分:0)

将该命令视为脚本。您应该能够使用实际值替换参数并在数据库中运行脚本。

如果您的数据库是sqlserver,则需要使用单引号而不是double

if {?Type} = 'Type1'
      exec storedprocedure1 
else if {?Type} = Type2
      exec storedprocedure2 

我不确定底部有日期的部分是什么想法,因为它现在也会失败。

2014年4月7日新增

  if {?Type} = 'Type1'
      exec storedprocedure1 {?DateFrom}, {?DateTo}
  else if {?Type} = 'Type2'
      exec storedprocedure2 {?DateFrom}, {?DateTo}