一个很复杂的表内各行列数据统计报表

gdljw 2009-11-19 01:47:47
客户要求编的一个程序,表格内容分别进行统计类加.效果如下,我搞了几天还是处理不好那个表行之间数值统计问题!请问应该怎样写这个统计?

日期 补休 剩余 值班 合计 备注

2009-9-10 2小时10分 2小时10分
2009-10-10 1小时30分 3小时40分
2009-10-15 2小时30分 1小时10分
2009-10-18 3小时0分 4小时10分
2009-10-30 1小时0分 3小时10分

代码如下:
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr align="center" bgcolor="#D9E6FF">
<td width="11%">日期</td>
<td width="14%">保休</td>
<td width="16%">剩余</td>
<td width="16%">值夜班</td>
<td width="19%">合计</td>
<td width="19%">备注</td>
</tr>
<%


set rs2=server.createobject("adodb.recordset")
rs2.open "select * from bxinfo where data1 like '%"&day1&"%' and Autor like '%"&name2&"%'" ,conn,1,1



while not rs2.eof


data=rs2("data2")
xs_je=rs2("su")
xs_sl=rs2("su2")
aa=aa+rs2("su")
ab=ab+rs2("su2")

%>
<tr bgcolor="#D9E6FF">
<td width="11%" height="22" align="center"><%=rs2("data1")%></td>
<td width="14%"><div align="center">
<% if rs2("su2")=0 then %><%else%><%=rs2("su2")%>小时<%=rs2("su4")%>分钟<%end if%>
</div></td>
<td width="16%" align="center"><% if rs2("su2")=0 then %><%else%> <% if total5<>"" then %><%total7=total5-rs2("su2")%><%=total7%> 小时 <%total8=total6-rs2("su4")%><%=total8%>分钟<%else%> <%total3=total-rs2("su2")%><%=total3%> 小时 <%total4=total2-rs2("su4")%><%=total4%>分钟<%end if%><%end if%>
</td>
<td width="16%" align="center"><% if rs2("su")=0 then %><%else%>
<%=rs2("su")%> 小时<%=rs2("su3")%>分钟<%end if%></td>
<td align="center"><% if rs2("su")=0 then %><%else%>
<% if total3<>"" then %><%total5=total+rs2("su")-total3%> <%=total5%> 小时 <%total6=total+rs2("su3")-total4%> <%=total6%>分钟<%else%><%total=total+rs2("su")%> <%=total%> 小时 <%total2=total2+rs2("su3")%> <%=total2%>分钟<%end if%><%end if%></td>
<td align="center"><%=rs2("Content")%></td>
</tr>
<%
rs2.movenext
wend
rs2.close
set rs2=nothing
%>
<tr bgcolor="#D9E6FF">
<td height="22" colspan="6"> <div align="center">
<p><br>
</p>
<p>
<input type="button" name="Submit" value="打印" onClick="javascript:print();"> <input type="button" name="Submit" value="返回" onClick="javascript:history.go(-1)">

</p>
</div></td>
</tr>
</table>
...全文
133 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fztjava 2009-11-19
  • 打赏
  • 举报
回复
三楼可行
lzp4881 2009-11-19
  • 打赏
  • 举报
回复
给出表结构和假想数据
sdjnliu73 2009-11-19
  • 打赏
  • 举报
回复
小时不用管,分钟逢60进1,最后叠加
jiguoguo 2009-11-19
  • 打赏
  • 举报
回复
....不懂
wjs496249880 2009-11-19
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分
帮顶~~~~~用GridView多好啊~~~
lzp4881 2009-11-19
  • 打赏
  • 举报
回复
<!--#include file="conn.asp" -->
<%
str="<table width='100%'><tr><td>日期</td><td>补休</td><td>剩余</td><td>值班</td><td>合计</td><td>备注</td></tr>"
ksrq="2009/9/10"'开始日期
jsrq="2009/10/30"'结束日期
Dim sql : sql = "select * from bxinfo where data1 between '"&ksrq&"' and '"&jsrq&"' order by data1"
set rs=conn.execute(sql)
hj=0
do while not rs.eof
data1=rs("data1")
bx=rs("su")*60+rs("su2")
zb=rs("su3")*60+rs("su4")
bz=rs("Content")
sy=hj-bx
hj=sy+zb

str = str & "<tr>"
str = str & "<td>" & rs("data1") & "</td>"
str = str & "<td>" & formatTime(bx) & "</td>"
str = str & "<td>"
if bx<>0 then str = str & formatTime(sy)
str = str & "</td>"
str = str & "<td>" & formatTime(zb) & "</td>"
str = str & "<td>"
if zb<>0 then str = str & formatTime(hj)
str = str & "</td>"
str = str & "<td>" & bz & "</td>"
str = str & "</tr>"

rs.movenext
loop
rs.close
set rs=nothing

str=str&"</table>"
response.write str
%>

<%
function formatTime(str)
if str<>0 then
h = str \ 60
m = str mod 60
formatTime = h&"小时"&m&"分钟"
else
formatTime = ""
end if
end function
%>
wlcsdf 2009-11-19
  • 打赏
  • 举报
回复
是个难题,关注一下,我也想知道答案。
gdljw 2009-11-19
  • 打赏
  • 举报
回复
表结构如下:
表名:bxinfo
字段:ID
字段:data1(日期)
字段:su(补休小时)
字段:su2(补休分钟)
字段:su3(值班小时)
字段:su4(值班分钟)
字段:Content(备注)
BlueSky4014 2009-11-19
  • 打赏
  • 举报
回复
学习

28,405

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧