access报表绘制表格

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除access报表绘制表格

篇一:access创建完美报表

access用word完美报表

access作为microsoftoffice办公软件包中的一部分,以其友好的操作界面和卓越的数据管理能力而日益成为中

小型管理信息系统的理想开发环境,在各行各业得到了广泛的应用。但在应用中我们发现,access在报表输出上还存在一些不足:尽管它可以很好地处理一些基于页面的报表,但对一些复杂报表或一些特殊报表的处理能力却很难令人满意,这主要是由于access系统附带的报表设计器太过直观,缺少了程序设计和文字处理所需的必要的灵活性。而word

作为microsoftoffice家族中的重要成员——字处理器,其强大的文字处理功能正好可以弥补access在报表方面的不足。这就使得我们自然而然地想到将access与word有机地结合起来,利用access的数据处理功能进行数据的录入、查询、存储,而利用word的字处理功能进行各种报表的打

印输出。幸好,微软在设计office的时候就已经为我们提供了一种在诸如access、word、excel等应用程序之间通信的机制,使得这种想法得以实现。

一、基本原理

对于一些复杂的或有特殊要求的查询,用ado(activex 数据对象)来处理要比用access本身提供的查询管理器更灵活一些。所以我们的基本思路是:用ado执行一条或多条特定的sql查询,生成我们所需要的一个或多个Recordset,再将这些Recordset中的数据逐条输出到word文档,然后就可以用程序或手工控制word文档的格式,达到我们的特殊要求。这听起来挺麻烦,可只要了解了其工作原理,实际操作却很简单。下面就分别以在access中和在word中的具体操作为例进行介绍。

二、在access中应用ado将数据输出到word

1.系统配置

系统软件:microsoftwindows9x/nt/2000;microsoftaccess2000;microsoftword2000。样例数据库:“c:\programFiles\microsoftoffice\office\samples\no rthwind.mdb”,office2000中包含的例子。可将其中的“产品”表复制到一个新的数据库中,如“d:\db1.mdb”。窗体:在数据库“d:\db1.mdb”中新建窗体“窗体1”,其中只包含1个命令按钮“命令0”。

引用ado:按alt+F11进入Visualbasic编辑器,执行“工具”->“引用”命令,在弹出的引用窗体中选择“microsoftactivexdataobjects2.1”或更高版本。

引用word:再次执行命令“工具”->“引用”,在弹出的引用窗体中选择“microsoftword9.0objectlibrary”。

2.代码详解

在“窗体1”的设计模式下右键单击“命令0”按钮,选择“事件生成器”,进入Visualbasic编辑器,创建过程“privatesub命令0_click()”,其代码如下:

sub命令0_click()

输入表格标题

title=inputbox(vbcrlf步骤1:建立数据连接cnn

由于数据库已经打开,所以直接应用

currentproject.connection就可以建立连接

setcnn=newadodb.connection

setcnn=currentproject.connection

步骤2:用sql语句创建记录集rs

setrs=newadodb.Recordset

设定游标类型与锁定类型

rs.cursortype=adopenkeyset

rs.locktype=adlockoptimistic

制定特定的查询条件,可以是任何有效的sql查询,甚

至包括多表、多条件等复杂的查询,查询条件也常常从窗体取得

sql="select产品名称,单位数量,单价,库存量from产品where单价>10.00"

创建记录集rs

rs.opensql,cnn

统计字段数及记录数

total_fields=rs.Fields.count

total_records=rs.Recordcount

步骤3:建立word文档对象

setmywdapp=createobject("word.application")

调整word窗口大小

mywdapp.windowstate=wdwindowstatenormal

生成新的word文档实例

mywdapp.documents.add

设置视图为页面视图

mywdapp.activewindow.View.type=wdprintView

转到word视图,显示文档生成过程

mywdapp.Visible=true

mywdapp.activate

设置文档(表格)字体

mywdapp.activedocument.Range.Font.size="9"

步骤4:将记录集rs中的字段名称和字段内容输出到word,各字段之间用制表符分隔输出字段名称

Fori=0tototal_fields-2

mywdapp.selection.typetexttext:=rs.Fields(i).name最后一个字段名称后加回车符

mywdapp.selection.typetexttext:=rs.Fields(total_fie lds-1).name逐条输出字段内容

dowhilenotrs.eoF

Fori=0tototal_fields-2

tmpstr=rs.Fields(i).value

ifrs.Fields(i).name="单价"then

tmpstr=Format(tmpstr,"####.00")

endif

mywdapp.selection.typetexttext:=tmpstr一条记录的最后一个字段后加回车符

mywdapp.selection.typetexttext:=rs.Fields(total_fie lds-1).value步骤5:关闭记录集

rs.close

setrs=nothing

相关文档
最新文档