第1个回答 2016-07-01
此需求应该没有简单的解决方法,它完全可以通过ACCESS VBA编程予以实现,但这是一件对数据库知识和编程技术要求挺高、工程量不小的综合性工作。设计优秀的最终实现方案是很有价值的,找设计公司肯定要花钱,不是百度分可以打发的。
这里提供一些解决思路供参考:
1)提问中的表结构是否恰当我不好判断,如有必要请根据实际情况重新设计储存题库的数据结构(如果题库的维护比较复杂可以考虑使用经优化设计的窗体来便利题库的维护与查询);
2)创建试卷选择窗体,通过列表框或组合框选择某一型试卷,然后用命令按钮通过代码将该型试卷对应条数的随机试题从题库中选择出来输出到WORD文件里。
3)代码随机挑选试题可以根据试题ID或其记录次序来做依据,具体方法多种多样,本人建议用ADO来解决。例如选择了“期末考”,先筛选出所有的“选择”题到ADO记录集对象里,用随机函数挑选出其中10个序号,然后逐条将记录集中对应序号的记录输出到word文档里,对于有图片的试题根据路径名将图片插入到相应的位置即可,跟着分别选出4道填空、5道计算输出到WORD文档,做法类似;
4)ACCESS VBA代码操纵WORD文档需要引用MS Word类库,具体的方法和属性的使用可以参考OFFICE Word VBA联机帮助,那里有详细说明,几乎所有WORD的手动操作都可以用VBA代码完成,理论上你可以将数据库里选定的数据以任何自己想要的外观输出到WORD文档里。ACCESS数据库里的数据输出或导出到WORD文档并不太过复杂,难度和工作量主要是在排版上,对于复杂的排版需求用代码排版的话,绝对是对编程人员脑力和体力的巨大考验,无数次反复调试那是必然的。为了减少代码量,使用预设版式的WORD模板替代全新生成的WORD文档是一个不错的选择,因为可以节省大量的排版代码。
另外如果不要求生成WORD格式试题的话,以报表对象输出打印试卷也是可以的,这样就不需要研究WORD文档编程了。本回答被提问者采纳