Dim t As Table = e.Form.controls("Table1").Table
Dim ary() As String = Functions.Execute("Xueqi")
Dim m As Integer = val(Left(ary(1),4))
t.Fill("Sel ect b.学期,b.学生编号,班级,IIF('"& ary(1) &"' Like '%春%',IIF(b.学期 Like '%春%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)),IIF(b.学期 Like '%秋%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1))) - 1),IIF('"& ary(1) &"' Like '%秋%',IIF(b.学期 Like '%春%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)) + 1,IIF(b.学期 Like '%秋%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)))))) As 年级 From ({学生基本信息} a Inner JOIN {缴费信息} b ON a.学生编号 = b.学生编号) LEFT JOIN (Sel ect 学期,学生编号,与家长关系,学生原因,家长原因,报名审批 From {违规信息} WHERE (报名审批 = '拒收'Or 报名审批 = '待收')) c ON b.学期 = c.学期 And b.学生编号 = c.学生编号 WHERE 缴费项目 = '学费' And IIF('"& ary(1) &"' Like '%春%',IIF(b.学期 Like '%春%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)),IIF(b.学期 Like '%秋%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1))) - 1) < 9,IIF('"& ary(1) &"' Like '%秋%',IIF(b.学期 Like '%春%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)) + 1,IIF(b.学期 Like '%秋%','"& m &"'- val(Left(b.学期,4)) + val(Left(班级,1)))) <10))And c.学生编号 Is Not Null ORDER BY 年级","数据库",True)
学期格式是:2016年春季、2016年秋季.....,班级是;101、102....., 现学期减原学期加班级开头得现年级,把数字转大写,比如:val(Left(ary(1),4)) - val(Left(b.学期,4)) + val(Left(班级,1)) = 现年级,2017年春季-2015年秋季 +301 -1=4,将4转成 “4年级”
请指教,谢谢
[此贴子已经被作者于2017/6/8 9:25:05编辑过]