|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。web|打印|数据|统计摘要:本文论述一种使用ASP完成Web数据统计、报表的基础思绪和完成办法,同时供应一种奇妙挪用Word打印报表的办理计划。
关头词:ASP,数据统计,报表,打印,Word
1、弁言
跟着Internet的飞速开展,基于Web开辟的营业使用体系愈来愈多,如办公主动化、电子商务和办理信息体系(MIS)等。这些Web营业使用体系常常触及到数据的统计、报表和打印。ASP在实行静态交互和天生静态页面方面具有很年夜的上风,但在处置庞大数据统计、报表和打印时却碰到不小的贫苦。本文论述一种使用ASP完成Web数据统计、报表的基础思绪和完成办法,同时供应一种奇妙挪用Word打印报表的办理计划。
2、使用实例
假定有一家公司使用收集MIS体系对公司员工举行办理,一定会触及到各部门的员工统计。为了复杂起见,假定终极的统计报表以下:
公司员工统计表
部门
算计
员工姓名
市场部
2
张三
李四
研发部
3
王五
赵六
刘七
员工算计
5
与传统单机MIS体系比拟,在收集MIS体系中利用ASP完成以上数据统计、报表和打印会碰到以下成绩:
(1)数据统计时必要按部门举行分类统计,同时要记下各部门员工的详细名单。
(2)报表天生时需按详细请求静态绘制几行几列表格,同时在得当的中央坚持空缺。
(3)表格打印能够复杂地按网页打印,但效果欠好,并且不简单把持。
3、完成办法简述
基于Web的营业使用一样平常接纳三层布局,客户端是一般的Web扫瞄器,两头营业逻辑使用层寄存于Web服务器上,由Web服务器上的数据库接口会见背景数据库。使用ASP完成Web数据统计、报表和打印的历程如图所示:
扫瞄器
HTML
VBScript
统计
报表
Word
工具
Web服务器
营业逻辑完成
数据库
会见接口
数
据
库
Word当地打印
(1)客户端向Web服务器发送数据统计哀求。
(2)Web服务器实行SQL语句,从背景数据库获得统计数据,在页面上静态天生报表。
(3)在客户端运转剧本,利用VBScript剧本函数CreateObject在当地创立Word的Document工具的实例,也就是在客户端创立Word文档,设定表格属性,然后将页面上的报表数据填进当地Word表格,最初保留文档,实行当地Word打印。
4、完成历程剖析
(1)数据库毗连
起首创建数据库(data.mdb),复杂的员人为料表(personnel)布局以下:
personnel:department,文本;name,文本;
然后创建一个ODBC数据源(DSN),使用DSN指向ODBC数据库。
(2)程序代码剖析(在此只剖析统计报表程序tongji.asp)
<%
sql="Selectdepartment,count(department)Frompersonnelgroupbydepartment"//将纪录按部门分类统计
SetCnn=Server.CreateObject("ADODB.Connection")//毗连数据库
Cnn.Open"data"
SetRs=Server.CreateObject("ADODB.Recordset")
Rs.CursorType=3
Rs.LockType=3
Rs.Opensql,Cnn
IfRs.EOFThen//假如没有纪录就停止
Response.End
EndIf
%>
<html>
//以下显现表格题目和输入表头
<palign="center"><b><fontsize="4">公司员工统计表</font></b></p>
<divalign="center">
<tableid="data"border="1"width="606"height="53"cellpadding="0"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111">//注重:此处标明表格的id为data
<tr>
<tdwidth="93"height="24">
<palign="center"><fontsize="2">部门</font></td>
<tdwidth="78"height="24">
<palign="center"><fontsize="2">算计</font></td>
<tdwidth="413"height="24">
<palign="center"><fontsize="2">员工姓名</font></td>
</tr>
<%
hj=0//设置变量,总人数算计初始值为0
//以下While轮回按部门顺次完成统计和报表
while(notrs.eof)
departmenttmp=rs("department")//设置一时变量,保留以后部门称号
sqlstr="select*frompersonnelwheredepartment="&departmenttmp&""//找出以后部门的一切员工
Setconn=Server.CreateObject("ADODB.Connection")//再次毗连数据库
conn.Open"data"
Setrss=Server.CreateObject("ADODB.Recordset")
rss.CursorType=3
rss.LockType=3
rss.Opensqlstr,conn
number=0//设置变量,以后部门人数算计初始值为0
//以下While轮回盘算出以后部门人数算计
while(notrss.eof)
rss.movenext
number=number+1
wend
hj=hj+number//总人数算计为各部门人数之和
rss.movefirst
flag=0//设置变量,flag用来判别以后部门是不是初次呈现,初始值为0
//以下While轮回输入以后部门统计数据和员工名单
while(notrss.eof)%>
<tr>
</p>Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来; |
|