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


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

主题:求高效代码

帅哥哟,离线,有人找我吗?
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 '人数


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/18 14:58:00 [只看该作者]

上例子,描述清楚需求!    否则,这种情况很难帮上忙哦!

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


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

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


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


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

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


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


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

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

 


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/10/18 15:18:00 [只看该作者]

人家帮你改代码,也是需要测试的,你不上例子,哪来数据测试?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/18 20:13:00 [只看该作者]

 首先,说清楚问题,然后,上传一个例子。

 不然自己做,思路都是一样的,遍历所有的行,自己实现compute的功能,这样会快。


 回到顶部