Foxtable(狐表)用户栏目专家坐堂 → [求助]代码求助(已解决)


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

主题:[求助]代码求助(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]代码求助(已解决)  发帖心情 Post By:2011/11/11 11:02:00 [只看该作者]

项目对全年的报酬情况进行汇总分析
操作:打开项目后,在数据汇总表的加载树选择加载所有行,然后在报酬明细表点击个人汇总,生成个人年度汇总的交叉统计表。
问题:如何在合计_考核月数列生成在册月份的数据(也就是报酬合计_1_2_3...不为空(包括0)的月数),以便取得合计_月均报酬的正确值。

请各位老师帮助指教,谢谢!!

 

 


[此贴子已经被作者于2011-11-11 15:52:08编辑过]

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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/11/11 11:15:00 [只看该作者]

遍历行---遍历相关列---判断

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/11 11:21:00 [只看该作者]

谢谢hhbb老师的回复!!

问题是代码不知如何写,没有头绪。


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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/11/11 12:05:00 [只看该作者]

.....................
s= Nothing
For n As Integer =1 To (t.Cols.count-8)/4
       s+="+IIF([报酬合计_" & n & "] is  Null ,0,1)"
Next
s=s.substring(1)
t.DataTable.DataCols("合计_考核月数").Expression = s

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/11 12:06:00 [只看该作者]

Dim cnt As Integer = DataTables("报酬明细").GetUniqueValues("","ny").count
DataTables("个人年度汇总").ReplaceFor("合计_考核月数",cnt)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/11 12:22:00 [只看该作者]

谢谢hhbb和狐爸老师的帮助指教,都怪学生才学粗浅,不得要领,以上代码应该如何加到按钮代码中,还望指教。谢谢!!

 

狐爸老师的代码运行后全部等于9,显然是不正确的,可能是我没有表述清楚,应该是每一行报酬合计_x不为空的个数。

[此贴子已经被作者于2011-11-11 12:45:18编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/11 14:00:00 [只看该作者]

自己试了一下,还是不行,代码报错。

 

Dim t As Table = Tables("个人年度汇总")
Dim i As Integer =(Tables("个人年度汇总").Cols.Count-5)/4
t.DataTable.DataCols.Add("合计_考核月数", Gettype(Double),0)
For Each r As Row In t.Rows
    Dim k As Double = Nothing
    For j As Byte = 1 To i
         k + =" + IIF([报酬合计_ "& i &"] Is  Null ,0,1)"
    Next
    r("合计_考核月数") = k
Next
t.DataTable.DataCols.Add("合计_月均报酬", Gettype(Double),"[合计_报酬合计]/[合计_考核月数]")

 

 


图片点击可在新窗口打开查看此主题相关图片如下:t.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/11 14:14:00 [只看该作者]

这样可以了:

 


For Each dr As DataRow In DataTables("个人年度汇总").DataRows
    Dim cnt As Integer = 0
    For Each dc As DataCol In DataTables("个人年度汇总").DataCols
        If dr.isnull(dc.name)  = False AndAlso dc.name.StartsWith("报酬合计_")  Then
            cnt = cnt +1
        End If
    Next
    dr("合计_考核月数") = cnt
Next


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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10633 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/11/11 14:26:00 [只看该作者]

ok了,谢谢狐爸老师!!

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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/11/11 14:53:00 [只看该作者]

以下是引用yyzlxc在2011-11-11 12:22:00的发言:

谢谢hhbb和狐爸老师的帮助指教,都怪学生才学粗浅,不得要领,以上代码应该如何加到按钮代码中,还望指教。谢谢!!

 

4楼的代码你写不出来,说的过去,但我写了出来,而你连把它接在原代码后面都不会,那真杯了图片点击可在新窗口打开查看



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