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


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

主题:求高效代码

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


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

我写的一段按月逐日累计在职人数,再计算当月平均人数,求12月平均数之和的代码,非常低效,1000人时要3秒,400人时要0.3秒

求高效代码!开发版,谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


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

狐爸,有没有办法呀?


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


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

 

以下是我的代码,不知道还有没有更简洁高效的办法,实际应用统计时,再加上其他条件,再放到循环体里,统计一张表需要100秒了

Dim ts As Integer '当月天数

Dim kssj As Date=#01/01/2013#

Dim monavg As Double ' 月平均人数

Dim ST As Date=Date.NOW

Dim RS As Integer

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 'SZ0306' 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

MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")


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


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

这是年末机关事业单位年报统计表上的一个必填数据,多张表上都有,并且还要根据人员的职务层次详细统计。相信好多人都要用的,还烦请狐爸帮忙看看!指点下。

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


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

算的是逐月平均人数之和

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


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

12个月平均人数和:1月:sum(每天的人数)/当月的天数+2月份。。。+12月

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


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

看来这个问题还真有点棘手


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


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

blackzhu的代码,还是要用computer方法,这个方法只要一用就费时间


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


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

老大是说过,说只要用comput就费时间,但我这段代码貌似不用不行,所以求助的。

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


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

这是国家统计局要求的算年平均人数,要求这样算,直接总合计的数据是不正确的


 回到顶部
总数 14 1 2 下一页