论文部分内容阅读
摘 要:针对中小学成绩管理的现实需求,本文探讨了基于Access查询对象和VBA编程进行成绩查询与通知单打印管理的系统设计与实现的方案,并重点介绍了采用VBA ADO方法连接和读写数据库的实现原理,以及基于交叉表查询和VBA编程的成绩单打印原理。
关键词:Access;ADO;成绩查询;批量打印;邮件合并
中图分类号:TP311.1 文献标识码:A 文章编号:1673-8454(2009)16-0069-03
一、 问题提出
随着计算机技术与网络技术的快速发展,中小学教务管理工作的信息化建设也具备了更广阔的发展空间。教务管理的信息化建设有助于提高工作效率和管理水平。在中小学的教务管理工作中,学生成绩的管理是非常基础而又相对繁琐的工作之一。为了提高成绩输入、处理、保存与输出的效率,可以借助目前流行的软件和工具实现。从技术层面上看,成绩管理的基础是数据库技术,MS Access就是使用极为普遍的一款桌面型关系数据库管理系统。
本系统主要面向中小学成绩管理的需求,基于Access查询对象和VBA编程设计并实现一个用于增、删、改、查的成绩管理系统,该系统提供以报表和Word文档方式的学生成绩通知单的打印输出功能。本系统主要应用的技术包括Access 交叉表查询、VBA程序设计以及Word邮件合并技术。通过这几种技术的综合运用,实现服务于查询和打印目的的Access、Excel、Word的集成联动系统。
(2)将关于成绩的交叉表查询结果输出到报表的问题:Access提供数据的报表呈现方式,但前提是将查询结果指定为报表的数据源。然而,交叉表无法被直接指定为窗体、子窗体、报表等对象的数据源,需要进行动态列到固定列的转换。为了解决这一问题,需要结合Access提供的交叉表查询和VBA编程,将交叉表查询的标题属性设置为确定的列数,则其查询结果将转化为固定列方式,之后就可以将交叉表查询结果设置为报表的数据源。
(3)将关于成绩的交叉表查询结果自动输出到自定义Word文档的问题: 鉴于报表在格式设计、文字排版方面不如专门的文字处理软件Word方便、友好,如果可以根据成绩查询结果,将其作为输出的数据源输出到Word文档中,对于用户而言会非常便利。因此,可提前设计好成绩通知单的邮件合并文档,然后将查询结果指定为该文档的数据源。但交叉表查询结果无法被直接用作Word邮件合并的数据源。为了解决这一问题,可以将查询结果转化为Excel文件,再将生成的Excel文件指定为Word邮件合并的数据源。Access VBA编程中提供了Docmd对象,它的OutputTo方法可将交叉表查询结果输出为Excel、RTF等若干种输出格式。然后,再使用Shell函数,启动Word应用程序以最终实现数据输出。
Dim SQL As String
Dim connstr As String
Dim conn As ADODB.Connection‘定义数据库连接对象conn
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
关键词:Access;ADO;成绩查询;批量打印;邮件合并
中图分类号:TP311.1 文献标识码:A 文章编号:1673-8454(2009)16-0069-03
一、 问题提出
随着计算机技术与网络技术的快速发展,中小学教务管理工作的信息化建设也具备了更广阔的发展空间。教务管理的信息化建设有助于提高工作效率和管理水平。在中小学的教务管理工作中,学生成绩的管理是非常基础而又相对繁琐的工作之一。为了提高成绩输入、处理、保存与输出的效率,可以借助目前流行的软件和工具实现。从技术层面上看,成绩管理的基础是数据库技术,MS Access就是使用极为普遍的一款桌面型关系数据库管理系统。
本系统主要面向中小学成绩管理的需求,基于Access查询对象和VBA编程设计并实现一个用于增、删、改、查的成绩管理系统,该系统提供以报表和Word文档方式的学生成绩通知单的打印输出功能。本系统主要应用的技术包括Access 交叉表查询、VBA程序设计以及Word邮件合并技术。通过这几种技术的综合运用,实现服务于查询和打印目的的Access、Excel、Word的集成联动系统。
(2)将关于成绩的交叉表查询结果输出到报表的问题:Access提供数据的报表呈现方式,但前提是将查询结果指定为报表的数据源。然而,交叉表无法被直接指定为窗体、子窗体、报表等对象的数据源,需要进行动态列到固定列的转换。为了解决这一问题,需要结合Access提供的交叉表查询和VBA编程,将交叉表查询的标题属性设置为确定的列数,则其查询结果将转化为固定列方式,之后就可以将交叉表查询结果设置为报表的数据源。
(3)将关于成绩的交叉表查询结果自动输出到自定义Word文档的问题: 鉴于报表在格式设计、文字排版方面不如专门的文字处理软件Word方便、友好,如果可以根据成绩查询结果,将其作为输出的数据源输出到Word文档中,对于用户而言会非常便利。因此,可提前设计好成绩通知单的邮件合并文档,然后将查询结果指定为该文档的数据源。但交叉表查询结果无法被直接用作Word邮件合并的数据源。为了解决这一问题,可以将查询结果转化为Excel文件,再将生成的Excel文件指定为Word邮件合并的数据源。Access VBA编程中提供了Docmd对象,它的OutputTo方法可将交叉表查询结果输出为Excel、RTF等若干种输出格式。然后,再使用Shell函数,启动Word应用程序以最终实现数据输出。
Dim SQL As String
Dim connstr As String
Dim conn As ADODB.Connection‘定义数据库连接对象conn
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="