Foxtable(狐表)用户栏目专家坐堂 → 求高效代码


  共有4173人关注过本帖树形打印复制链接

主题:求高效代码

帅哥哟,离线,有人找我吗?
jsq96jg
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
求高效代码  发帖心情 Post By:2013/10/18 14:46:00 [显示全部帖子]

以下为一段求12个月逐月平均人数之和的代码,测试中统计500人需要3秒,请问有没有高效的写法呢?


Dim ts As Integer '当月天数
Dim kssj As Date=#01/01/2013#
Dim monavg As Double ' 月平均人数
For m As Integer=0 To 11 '月
    ts= ts+Date.daysinmonth(kssj.year, kssj.month)
    For t As Integer=1 To Date.daysinmonth(kssj.year,kssj.month) '从开始时间起逐天计算
        rs=rs+DataTables("zzjbqk").compute("count(姓名)","[人员类型] like '机关%' And [单位代码] Like '"& dwdm &"%' and [调入时间]<#"& kssj &"#") '逐天累加人数至全月
        kssj = kssj.adddays(1)
    Next
    monavg=monavg+rs/ts'逐月平均人数和
    ts=0
    If kssj>#12/21/2013# Then '如果开始时间>截止时间
        Exit For
    End If
    rs=0
Next


 回到顶部
帅哥哟,离线,有人找我吗?
jsq96jg
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/10/18 14:50:00 [显示全部帖子]

月平均人数,为当月每天在职人数和/天数


 回到顶部
帅哥哟,离线,有人找我吗?
jsq96jg
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/10/18 14:51:00 [显示全部帖子]

还差一个变量:dim rs as integer '人数


 回到顶部
帅哥哟,离线,有人找我吗?
jsq96jg
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/10/18 15:08:00 [显示全部帖子]

这段代码效率太低,想请教有没有更高效的写法。


 回到顶部
帅哥哟,离线,有人找我吗?
jsq96jg
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/10/18 15:09:00 [显示全部帖子]

逐天累计职工人数,每个月算一次平均人数,求12个月的平均人数之和


 回到顶部
帅哥哟,离线,有人找我吗?
jsq96jg
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:333 积分:2759 威望:0 精华:0 注册:2012/5/8 11:06:00
  发帖心情 Post By:2013/10/18 15:14:00 [显示全部帖子]

狐爸帮助里说,把查询和赋值分开,我也不知道该怎么分了,貌似也分不开

 


 回到顶部