您好, 访客   登录/注册

Access试题自动阅卷实现

来源:用户上传      作者:朱彦廷

  摘要:文章介绍了通过DAO实现计算机基础考试中Access题目自动阅卷的方法,能够大大提高阅卷的速度,而且结果准确、客观、公平。
  关键词:计算机基础;自动阅卷;Access
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2020)14-0084-02
  1背景
  计算机基础是高校各专业普遍开设的一门基础课,考试通常为机试,主要考核学生Windows、Word、Excel等软件的操作能力,采用传统的人工阅卷,工作量大、时间长,准确率也不很高,因此非常有必要研究采用计算机自动阅卷。
  Access也是Office的一个组件,在一些学校也是计算机基础的教学内容,甚至是一门课。
  Word、Excel、PowerPoint文档都可以通过VBA读取有关信息,从而实现阅卷。相比之下,Access的VBA功能不够全面,宏由基本操作组成,基本操作的数量有限,没有十分有用的录制宏功能,未见有通过VBA阅卷的例子。可以考虑通过ADO或DAO读取信息,ADO具有模型简单、高效等特点,但包括关系、查询在内的一些信息不能获取,因此通常选择DAO。本文将探讨Access题目的阅卷方法。
  2DAo
  DAO(Data Access Objectl是一个面向对象的数据库接口。DAO由许多对象组成,通过TableDef对象可以获取表的定义信息,通过QueryDef对象可以获取查询的定义信息,通过Record-set对象可以获取表、查询的数据信息,通过Field对象可以获取字段的定义、数据信息,通过Index对象可以获取索引的信息。
  3基本方法
  考点:修改基本表cj1结构,将“普通物理”字段的数据类型改为单精度(小数位数:自动)(3分)。
  首先单击Visual Basic菜单栏中的“工程”,然后选择“引用”,在打开的对话框里“可用的引用”中选择“Microsoft DAO3.6 Object Library”(根据所用的Access的版本选择),程序段如下:
  最后是否要用db.Close关闭数据库呢?这里的数据库是用来考察学生是否掌握了必要知识的,不是用来存储大量数据的,因此它非常小,也没有很多用户同时访问,即使程序在教师端运行,要批很多试卷,每批完1份就关闭数据库,总计节省的内存也很有限,可不关闭。
  如果数据库有8张表f其中6张是Access自带的:MsysAc-cessobjects、MSysAccessXML MSysACEs、Msysobjects、MsysQue-ries、MsysRelationships,因此有1张复制的表),如果表0的名字是bakl(Access按音序排列表的名字,因此bakl是表0),说明名字正确,得1分,否则从表0开始查找属性為0(Access自带的表属性不为0),名字不是cjdl的表,直到找到。
  复制的表如果字段数和cjdl相同,且字段3的名字和cjdl相同,说明结构应该正确,得1分,如果记录数和cjdl相同,且第2个记录字段3的值和cjdl相同,说明内容应该正确,得1分。
  cjdl原有9个字段,题目又要求添加2个,每个字段又有数据类型、属性,原有10个记录,题目又要求删除1个,本文认为一一比较费时费力f每个字段有多个属性,完全比较几乎不可行),对于大多数考试,比较其中几个字段的名字、几个记录的几个字段的值(具体数目视考试的重要程度而定,具体哪个也可以由程序运行时随机产生),得出的结果已够准确了。
  5结束语
  程序编好后,瞬间就能阅完一份试卷,而且结果准确、客观、公平。有关Access自动阅卷的论文很少,有关DA0的系统资料也很难找,希望本文对想实现Access自动阅卷的教师有所帮助。
转载注明来源:https://www.xzbu.com/8/view-15267107.htm