⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -

📁 我做的第一个学生管理系统
💻
📖 第 1 页 / 共 2 页
字号:
				
			if grade_radio.checked  then
				call fsd_handle("GRADE")
				exit sub
			end if
			
			if class_radio.checked  then
				call fsd_handle("CLASS")
				exit sub
			end if


end sub

'============根据课程号,学号,年级,班号分别进行不及格,及格,中,良,优等成绩统计==============
sub fsd_handle(sta_type)
	
		if sta_type ="COURSE" then
			course_sql = "select 学号,姓名,"
			for i = 0 to CourseCount -1
					if rtrim(courseArray(0,i)) = rtrim(courseno.value) then
						course_sql = course_sql +"'"+rtrim(courseArray(0,i))+"'=str("+courseNoArray(0,i)+",7,1) "
						
						exit for
					end if
			next  	
			course_sql = course_sql + " from score where " + courseNoArray(0,i)+"<60 and "&_
							 "学年='"+trim(yearno.value)+"' and 学期='"+trim(termno.value)+"'"
		else
				 get_course(sta_type)
				 if courseSelectCount<=0 then
					msgbox "没有输入此学期的成绩,请输入或运行班级课程模块的刷新功能!"
					exit sub
				 end if 
				 course_sql ="  select 学号,姓名,'不及格'="+cstr(courseSelectCount)+"-("	 
				
			    for i = 0 to courseSelectCount -1 
					course_sql = course_sql + " floor("+trim(courseSelectArray(0,i))+"/60.0) + "
				next 
				course_sql = course_sql + "0), '及格'=str(-("
				for i = 0 to courseSelectCount -1 
					course_sql = course_sql + " sign("+trim(courseSelectArray(0,i))+"-69.9) - sign("+trim(courseSelectArray(0,i))+"-59.9) + "
				next
				
				course_sql = course_sql + "0)/2,2,0), '中'=str(-("
				for i = 0 to courseSelectCount -1 
					course_sql = course_sql + " sign("+trim(courseSelectArray(0,i))+"-79.9) - sign("+trim(courseSelectArray(0,i))+"-69.9) + "
				next
				
				course_sql = course_sql + "0)/2,2,0), '良'=str(-("
				for i = 0 to courseSelectCount -1 
					course_sql = course_sql + " sign("+trim(courseSelectArray(0,i))+"-89.9) - sign("+trim(courseSelectArray(0,i))+"-79.9) + "
				next
				
				course_sql = course_sql + "0)/2,2,0), '优'=str(-("
				for i = 0 to courseSelectCount -1 
					course_sql = course_sql + " sign("+trim(courseSelectArray(0,i))+"-100.9) - sign("+trim(courseSelectArray(0,i))+"-89.9) + "
				next
				
				course_sql = course_sql + "0)/2,2,0) from score "
				course_sql = course_sql + " where 学年='"+yearno.value+"' and 学期='"+termno.value+"' and 成绩类型='"+scoreno.value+"' and "	
				select case sta_type
					case "CLASS"
					     course_sql = course_sql +" 学号 in (select 学号 from student where rtrim(班号)='"+rtrim(classno.value)+"')"
			        case "GRADE"  
					     course_SQL = course_SQL +"学号 in (select 学号 from student where 班号 in (select 班号 from class where year(入学年度)='"+rtrim(gradeno.value)+"'))"
			        case "XH"  
						 course_sql = course_sql +" rtrim(学号) >= rtrim("+startno.value+") and rtrim(学号) <= rtrim("+endno.value+")"									 
				end select
		end if 
		
		rds1.sql=course_sql
		rds1.ExecuteOptions=1
		rds1.refresh
				
end sub

'==========各学期总分统计=============================
sub zxf_sta()

end sub

'========按班、年级及学号取某学年某学期所开所的课程======
sub get_course(get_type)
	courseSelectCount = 0
	
	select case get_type 
		case "CLASS"
			rds2.SQL = " select 课程号 from class_course where 班号='"+classno.value+"' and "&_
						" 学年='"+yearno.value+"' and 学期='"+termno.value+"'"	
		case "XH"
			rds2.SQL = "select a.课程号 from class_course as a,student as b where b.学号>='"+rtrim(startno.value)+"' and "&_
					   " b.学号<='"+rtrim(endno.value)+"' and b.班号=a.班号 and "&_
					   " 学年='"+yearno.value+"' and 学期='"+termno.value+"' group by a.课程号"
			
		case "GRADE" 
			rds2.SQL = " select 课程号 from class_course  where 班号 in (select 班号 from class where year(入学年度)='"+rtrim(gradeno.value)+"') and "&_ 
						" 学年='"+yearno.value+"' and 学期='"+termno.value+"' group by 课程号"
		
	end select
	'msgbox rds2.sql
	rds2.ExecuteOptions = 1
	rds2.Refresh
	courseSelectCount = rds2.Recordset.recordcount
	if courseSelectCount <=0 then
		exit sub 
	end if 
	
	'courseSelectArray= rds2.recordset.Getrows(rds2.recordset.recordcount,0,0) 
	rds2.Recordset.movefirst 
	for i=0 to rds2.Recordset.recordcount -1 
			courseSelectArray(0,i)=rds2.Recordset.fields(0)
			rds2.Recordset.movenext
	next
	
end sub
				
'==============根据序列号从开设课程数组中取课程名称=================
function  GetCourseName(cno)
	GetCourseName = "No Find"
	for loopcount = 0 to courseCount-1
		if courseNoArray(0,loopcount) = courseSelectArray(0,cno) then
			GetCourseName = courseArray(0,loopcount)
			exit for
		end if
	next
end function
	


			
'====================根据班号,学号,年级查询成绩====================================
sub score_search(search_type)    
'========================================================================	
	'根据课程名,取得课程代码
	course_sql = "select 学号,姓名,"
	total_score ="("
	select_course = 0
	if rtrim(courseno.value)="所有课程" then
		for i = 0 to courseCount - 1
		
			'找出本学期开设了哪些课程,通过计算总分是否为零进行判断
			rds2.SQL = "select sum("+courseNoArray(0,i)+") from score "
			if search_type="CLASS" then
				rds2.SQL = rds2.SQL +" where 学号 in (select 学号 from student where rtrim(班号)='"+rtrim(classno.value)+"') and "
			end if 
			if search_type="GRADE" then 
				rds2.SQL = rds2.SQL +" where 学号 in (select 学号 from student where 班号 in (select 班号 from class where year(入学年度)='"+rtrim(gradeno.value)+"')) and "
			end if
			if search_type="XH" then 
				rds2.SQL = rds2.SQL +" where rtrim(学号) >= rtrim("+startno.value+") and rtrim(学号) <= rtrim("+endno.value+") and "
			end if
				rds2.SQL = rds2.SQL + " 学年='"+yearno.value+"' and 学期='"+termno.value+"' and 成绩类型='"+scoreno.value+"'"
			'msgbox rds2.sql
			rds2.ExecuteOptions=1
			rds2.Refresh
			sum_array = rds2.Recordset.GetRows(1,0,0)
			
			if sum_array(0,0) > "0" then '表明此课程已有成绩
			
				 			course_sql = course_sql +"'"+rtrim(courseArray(0,i))+"'=str("+courseNoArray(0,i)+",7,1),"
							total_score = total_score + courseNoArray(0,i)+"+"
							select_course = select_course + 1	
			end if
		next
		
		
	else
		
			
		for i = 0 to CourseCount -1
			if rtrim(courseArray(0,i)) = rtrim(courseno.value) then
				course_sql = course_sql +"'"+rtrim(courseArray(0,i))+"'=str("+courseNoArray(0,i)+",7,1),"
				total_score = total_score + courseNoArray(0,i)+"+"
				
				exit for
			end if
		next  
		'找出本学期是否开设了此课程,通过计算总分是否为零进行判断
			rds2.SQL = "select sum("+courseNoArray(0,i)+") from score "
			if search_type="CLASS" then
				rds2.SQL = rds2.SQL +" where 学号 in (select 学号 from student where rtrim(班号)='"+rtrim(classno.value)+"') and "
			end if 
			if search_type="GRADE" then 
				rds2.SQL = rds2.SQL +" where 学号 in (select 学号 from student where 班号 in (select 班号 from class where year(入学年度)='"+rtrim(gradeno.value)+"')) and "
			end if
			if search_type="XH" then 
				rds2.SQL = rds2.SQL +" where rtrim(学号) >= rtrim("+startno.value+") and rtrim(学号) <= rtrim("+endno.value+") and "
			end if
				rds2.SQL = rds2.SQL + " 学年='"+yearno.value+"' and 学期='"+termno.value+"' and 成绩类型='"+scoreno.value+"'"
			rds2.ExecuteOptions=1
			rds2.Refresh
			sum_array = rds2.Recordset.GetRows(1,0,0)
			
			if sum_array(0,0) >"0" then
				select_course = 1	
			else
			 '表明此课程没有成绩
				msgbox "没有输入成绩,请选择其它课程!"
				exit sub
			end if 
		
	end if 
	if select_course=0 then
		msgbox "没有输入成绩,请选择其它课程或成绩类型!"
		exit sub
	end if
	total_score = total_score + "0)"
	avg_score = total_score+"/"+cstr(select_course) 
	course_sql = course_sql + "'总成绩'=str("+total_score+",6,1),'平均成绩'=str("+avg_score+",6,2) from score "
		if search_type="CLASS" then
				course_sql = course_sql +" where 学号 in (select 学号 from student where rtrim(班号)='"+rtrim(classno.value)+"') and "
			end if 
		if search_type="GRADE" then
				course_sql = course_sql +" where 学号 in (select 学号 from student where 班号 in (select 班号 from class where year(入学年度)='"+rtrim(gradeno.value)+"')) and "
			end if
		if search_type="XH" then
				course_sql = course_sql +" where rtrim(学号) >= rtrim("+startno.value+") and rtrim(学号) <= rtrim("+endno.value+") and "
			end if
		
			     
		course_sql = course_sql + " 学年='"+yearno.value+"' and 学期='"+termno.value+"' and 成绩类型='"+scoreno.value+"'"

	'msgbox course_sql
	rds1.SQL = course_sql
	rds1.ExecuteOptions = 1
	rds1.refresh
	if rds1.Recordset.recordcount = 0 then
		msgbox "对不起,成绩还没有输入无法查询!"
		exit sub
	end if
	

end sub

'===============================================
sub xhSort()
	if len(trim(rds1.SQL)) <=0 then
		msgbox "没有查询结果,无法进行排序!"
		exit sub
	end if
	
	rds1.SQL = course_sql + " order by 学号"
	'msgbox rds1.sql
	rds1.ExecuteOptions=1
	rds1.refresh
	
end sub
'==============================================================

'===============================================
sub scoreSort()
if len(trim(rds1.SQL)) <=0 then
		msgbox "没有查询结果,无法进行排序!"
		exit sub
	end if
	
	rds1.SQL = course_sql + " order by "+total_score + " DESC"
	rds1.ExecuteOptions=1
	rds1.refresh
	
end sub
'==============================================================

sub returning()
    history.go(-1)

end sub
'==============================================================
sub grid1_BeforeColEdit(colindex,keyascii,cancel)
		'msgbox "只能输入和修改成绩!"			
		cancel = true	
end sub

sub printing()

	RDS1.recordset.movefirst 	

    call free_printer(rds1.Recordset.recordcount,"统计信息一览表")
 
end sub 


</script>
<SCRIPT language=javascript>
function click() {
if (event.button==2) {
alert('对不起,禁止使用此功能^_^.')
}
}
document.onmousedown=click
</SCRIPT>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -