Crystal reports crystal报告错误:“;此处需要一个字符串";选择

Crystal reports crystal报告错误:“;此处需要一个字符串";选择,crystal-reports,Crystal Reports,我在crystal reports中运行以下代码,它告诉我 “此处需要字符串” 关于第二个案件。我试着将{?Pm-Student\u course\u Attention\u csv.Level}转换成字符串,但没有成功 Global NumberVar grade; Global NumberVar baseline; Select ({?Pm-Student_course_attendance_csv.Level}) Case "R", "TL", "TU", "OTH", "P"

我在crystal reports中运行以下代码,它告诉我

“此处需要字符串”

关于第二个案件。我试着将{?Pm-Student\u course\u Attention\u 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;

您的公式不能有两种不同的返回类型。从错误和上面返回一个字符串,但在它下面您试图返回一个数字(公式的返回类型也是最后一个赋值,因此,如果公式的最后一项操作是
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":
...
。。。
案例“H”、“ASD”、“AD”、“AS”、“G”://从此行开始的错误(包括在内)
选择(CStr({PM_csv.mv_value}))
案例“A*”:
职系:=11;
“返回值”//您的字段是什么类型的?(参数{?Pm-Student\u course\u Attention\u csv.Level}和类似于db字段{Pm\u csv.mv\u value})