asp 循环语句 如何写?

我有份网页表格,需要从access里抓取数据放到对应的表格里头。我要怎么写?如下:日期:2015-11-30出勤类型商务财务采购人资IT??正常44442休息00001请... 我有份网页表格,需要从access里抓取数据放到对应的表格里头。我要怎么写?如下:
日期:2015-11-30
出勤类型 商务 财务 采购 人资 IT ??
正常 4 4 4 4 2
休息 0 0 0 0 1
请假 0 0 0 0 0

当前在Asp里是在每个单元里头写入sql语句,我要如何简化写。

sql="select count(*) from workcondition_table where worker_dp='it' and work_time=#2015-11-12# and work_condition='正常'"
sql1="select count(*) from workcondition_table where worker_dp='it' and work_time=#2015-11-12# and work_condition='正常'"
sql2="select count(*) from workcondition_table where worker_dp='it' and work_time=#2015-11-12# and work_condition='正常'"
展开
 我来答
miniapp6YdRKPFNcTBgH
推荐于2016-04-12 · TA获得超过397个赞
知道小有建树答主
回答量:801
采纳率:0%
帮助的人:507万
展开全部
你可以写一个函数来实现,这样哪里用就在哪里调用函数就可以了,方便点。
比如:

function countsql(typ,wtime,wcond)
dim f_rs
f_rs=conn.execute("select count(*) from [workcondition_table] where [worker_dp]='" & typ & "' and [work_time]=#" & wtime & "# and [work_condition]='" & wcond & "'")
countsql=f_rs(0)
end function
调用时就用(例):
<%=countsql("it","2015-11-12","正常")%>
<%=countsql("it","2015-11-12","休息")%>
<%=countsql("it","2015-11-12","请假")%>
望采纳,谢谢!
追问
可否让我的标头汇成一个数组,然后底下for循环?
如:array[0]=商务,for 循环 “正常” “休息” “请假” 多少个数,
array[1]=财务, for 循环 …………
追答
第二种方法:
SQL写成这样:
sql="select * from workcondition_table where work_time=#2015-11-12#"
程序主体是:
dim a(4)
a(0)="商务" : a(1)="财务" : a(2)="采购" : a(3)="人资" : a(4)="IT"
dim b(2)
b(0)="正常" : b(1)="休息" : b(1)="请假"
dim c(4,2) '获取各部门各类型的个数数值用的,初始置0
for i=0 to 4
for j=0 to 2
a(i,j)=0
next
next
do while (rs.eof=false)
if rs("worker_dp")=a(0) then
if rs("worker_dp")=b(0) then c(0,0)=c(0,0)+1
if rs("worker_dp")=b(1) then c(0,1)=c(0,1)+1
if rs("worker_dp")=b(2) then c(0,2)=c(0,2)+1
elseif rs("worker_dp")=a(1) then
if rs("worker_dp")=b(0) then c(1,0)=c(1,0)+1
if rs("worker_dp")=b(1) then c(1,1)=c(1,1)+1
if rs("worker_dp")=b(2) then c(1,2)=c(1,2)+1
省略3个elseif
end if
rs.movenext()
loop

最后输出数组,这种方法效率不高,也不方便,推荐使用第一种方法
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式