2012-11-09 36 views
1

我跑在Crystal Reports下面的代码,它告诉我,水晶报表错误:“字符串这里需要”上选择

" string is required here"

在第二壳上。我试过铸造{?PM-Student_course_attendance_csv.Level}为一个字符串,但没有运气

Global NumberVar grade; 
Global NumberVar baseline; 

Select ({?Pm-Student_course_attendance_csv.Level}) 
    Case "R", "TL", "TU", "OTH", "P", "BTECFS": 
    If (CStr({PM_csv.mv_value}) = "Pass") Then 
     "On Track" 
    Else 
     "Below" 

    Case "H", "ASD", "AD", "AS", "G":  //error from this line onwards inclusive 
    Select (CStr({PM_csv.mv_value})) 
     Case "A*": 
      grade := 11 
     Case "A*/A": 
      grade := 10 
     Case "A": 
      grade := 9 
     Case "A/B": 
      grade := 8 
     Case "B": 
      grade := 7 
     Case "B/C": 
      grade := 6 
     Case "C": 
      grade := 5 
     Case "C/D": 
      grade := 4 
     Case "D": 
      grade := 3 
     Case "D/E": 
      grade := 2 
     Case "E": 
      grade := 1 
     Case "U": 
      grade := 0 
     Default : 
      grade := 0; 
+0

什么类型的字段?(参数{?PM-Student_course_attendance_csv .Level}和看起来像db字段{PM_csv.mv_value}) – Krease

+0

所有类型字符串 – pluke

回答

2

您的公式不能有两个不同的返回类型。从错误和上面它返回一个字符串,但在它下面,你试图返回一个数字(一个公式的返回类型也是最后一个分配,所以如果你的公式的最后一件事是grade:=1然后公式试图返回值1 ,它显然不会允许你这样做,你必须在配方下半年每种情况下添加一个字符串返回值。

... 
    Case "H", "ASD", "AD", "AS", "G":  //error from this line onwards inclusive 
    Select (CStr({PM_csv.mv_value})) 
     Case "A*": 
      grade := 11; 
      "Return value" //<---- Must be a string 
     Case "A*/A": 
... 
+0

谢谢,解决了它 – pluke