省计算机等级考试上报数据实现自动生成的改进

点赞:5611 浏览:15177 近期更新时间:2024-03-31 作者:网友分享原创网站原创

摘 要:省计算机等级考试是浙江高校重要的一项考试.考生相关考试信息汇总形成的上报数据库一般是由二部分组成的,一部分为上机考试所形成的上报数据,一部分是理论考试所形成的上报数据.为了把省计算机等级考试的上机部分和理论部分整合成一个完整的上报数据,在研究上机考试所形成的上报数据自动生成的基础上,经过新的编码和检验,实现了上报数据的自动生成.改进工作采用VBA编程实现,并正确地形成了上报数据的缺考库.

关 键 词:计算机等级考试;VBA;自动生成;缺考库;上报数据

中图分类号:TP391文献标志码:B文章编号:1006-8228(2013)07-43-03

0引言

数据在任何时代都是很重要的,它具有时代意义和历史意义,每一个时代的进步和发展都会反映在各种各样的数据中.

浙江省高校计算机等级考试是一项重要的考试,其结果需要形成一个上报数据.作者在文献[1]中对上机考试部分成功实现了上报数据自动生成.由于该考试分上机和笔试两部分,为了将笔试部分的缺考情况同时反映在上报数据中,学校教务处需要汇总上机考试和笔试考试的缺考数据,为了减少人工数据整理的失误和误差,我们经过不断地尝试和编制程序,在形成的上报数据中加入了笔试考试缺考情况,即对作者文献[1]中的程序进行了改进,经过尝试和数据的检验、测试,确定完全能够形成正确的上报数据结果.

1上报数据的研究

上报数据是一个DB格式的文件,并且是一个经过加密的文件,所以直接把这个文件中的数据读取出来使用是不可能的.经过研究,我们在上报数据自动生成系统实现的基础上,采用Excel文件格式结合VB编程来形成上报数据,进而自动生成准确的上报数据.这种办法可以大大提高上报数据的准确性,极大地减少人工操作.

2具体实现过程

自动生成上报数据的实现我们采用了VBA(VisualBasicforApplications),它是一种宏语言,能用来扩展Excel的功能.

2.1前期准备

先把参加上机考试的考生所生成的压缩包放在一个盘的根目录中,如D:\RAR,然后打开开始程序的运行框,在其中输入CMD回车进入DOS状态,进入DOS环境后执行CD\回车后,再执行CDD:\RAR命令,进入D:\RAR目录后,执行DIR*>F.TXT命令,把参加上机考试的考生准考号形成上机考生数据F.TXT文本文件.

然后打开上机考生数据F.TXT文件,把文本文件的内容复制到WORD环境中,进行上机考生数据编辑.上机考生数据是如图1所示的以准考证号为内容的文件.

把“学校配置文件夹”中的本校的考生报名总库解压到本地硬盘上(ksXXX.db,XXX为学校代码)[5];打开缺考录入系统,导入本校的DB格式的全部考生数据.接下来把所有报名的考生数据全部导入上机和笔试都缺考系统,然后以EXCEL格式打开文件,并存为EXCEL格式的文件.打开这个EXCEL文件,因为总库数据在sheet1表中,于是把上机考生F.TXT中的数据放在sheet2表中,先把A列所在的单元格设置为文本格式,以使生成的F.TXT文件中参加上机考生的准考证号拷贝到A列时,能正常显示准考证号,而不是以科学计数法来显示数据,数据汇总表如图2所示.把理论缺考考生数据放在sheet3表中.

在图2的显示界面,添加“开发工具”选项卡[3],然后点击开发工具选项卡,打开VisualBasic按钮,就会出现VBA环境所示的界面.双击左边窗口中的任一表,如sheet1,所显示的代码输入窗口如图3所示.

在图3窗口空白处,输入代码,利用FOR循环和IFELSE判断语句来实现数据和筛选,以及比较而最终得到上机和笔试缺考的考生,从而生成上报数据.为了方便数据的最后生成,把RAR文件夹中的上机考生数据放置在sheet2表中,把理论缺考的数据放在sheet3表中,在打开的窗口中直接输入如下代码:

Subf()

Dimss1AsInteger'定义总表中的循环变量

Dimss2AsInteger'定义实际上机表中的循环变量

Dimss3AsInteger'定义理论缺考中的循环变量

Forss1等于2To12

Forss2等于2To5

'MsgBox"ss1"&Sheet1.Cells(ss1,1).Value

‘MsgBox函数也称为消息对话框[6],用户在使用这个函数后,可以很方便地查看当看运动结果

‘进而修改程序

IfSheet1.Cells(ss1,1).Value等于Sheet2.Cells(ss2,1)

.ValueThen

'取总表sheet1中一个准考证号与上机表sheet2中取一个准考证号想比较,如果相同,取理论缺考表sheet3中一个准考证号相比较

Forss3等于2To5

IfSheet1.Cells(ss1,1).Value等于Sheet3.Cells(ss3,1)

.ValueThen

'如果相同,那么置sheet1表中的理论缺考为‘是’,上机缺考为‘否’

Sheet1.Cells(ss1,4).Value等于"是"

Sheet1.Cells(ss1,5).Value等于"否"

GoTo1'转到总表取下一个准考证号数据

Else'如果不与理论缺考表中的这个准考证号相同

Ifss3等于5Then'如果在理论缺考表中查询结束还没有查询到Sheet1.Cells(ss1,1).Value等于""'置表准考证号为空

GoTo1

EndIf

EndIf

Next

Else

Ifss2等于5Then'如果在上机表中查询结束还没有查询到

Sheet1.Cells(ss1,5).Value等于"是"'置上机缺考为‘是’

Forss3等于2To5

IfSheet1.Cells(ss1,1等于Sheet3.Cells(ss3,1)Then

Sheet1.Cells(ss1,4).Value等于"是"

'置理论缺考为‘是’

GoTo1

Else

Ifss3等于5Then'如果在理论缺考表中查询结束还没有查询到

Sheet1.Cells(ss1,4).Value等于"否"'置理论缺考为‘否’

GoTo1

EndIf

EndIf

Next

EndIf

EndIf

Next

1:Next

ExitSub

省计算机等级考试上报数据实现自动生成的改进参考属性评定
有关论文范文主题研究: 关于数据的论文范例 大学生适用: 研究生论文、自考毕业论文
相关参考文献下载数量: 47 写作解决问题: 如何写
毕业论文开题报告: 论文任务书、论文目录 职称论文适用: 期刊目录、职称评初级
所属大学生专业类别: 如何写 论文题目推荐度: 优秀选题

在鼠标光标所处的位置单击工具栏上的“运行子过程/用户窗体”按钮,相应的过程就会被运行[4],所以点击当前的代码窗口后,再点击菜单栏中的“运行子程序/用户窗体”,或是直接按F5,就会运行上面的代码,得到缺考考生数据表,如图4所示.


在图4所示的数据中,有准考证号为空的考生,需要把这些数据删除,可以利用这个小程序:

'判断为空行就删除

Subff()

Dimss1AsInteger

Forss1等于2To9

IfSheet1.Cells(ss1,1).Value等于""Then

Sheet2.Rows(ss1).Delete

EndIf

Next

EndSub[1]

经过检验,所得到的缺考考生数据准确无误.该系统的应用节省了人工操作的时间,有效地减少人工输入数据时所可能产生的错误.把这些数据导入缺考库,生成DB文件,就可以上报.把这些程序录制成宏,然后通过宏的运行即可快捷地执行相关操作[2].

3结束语

本文对“省计算机等级考试上报数据的自动生成系统实现”[1]进行了改进,增加了笔试考生缺考数据的自动生成功能,把上机考试和笔试考试中缺考考生同时自动生成上报数据.对于不熟悉编程的使用者,如教务处相关人员也可以轻松上手,可适用于浙江有相关考试的学校使用,有一定的推广和实用的价值.