Foxtable(狐表)用户栏目专家坐堂 → [求助]多表条件取值计算(已解决)


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

主题:[求助]多表条件取值计算(已解决)

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/26 16:53:00 [显示全部帖子]

很想帮你,可惜看不懂

 

以一条数据为例,说明详细的计算方法


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/26 17:16:00 [显示全部帖子]

蒙一个

 

For Each dr As DataRow In DataTables("奖金明细").DataRows
    Dim dr1 As DataRow = DataTables("数据").Find("姓名 = '" & dr("姓名") & "'")
    If dr1 IsNot Nothing Then '如果找到的话
        For Each dc As DataCol In DataTables("奖金明细").DataCols
            If dc.name <> "姓名" AndAlso dc.name <> "全年奖金"
                Dim dr2 As DataRow = DataTables("系数奖金").Find("部门 = '" & dr1("部门_" & dc.Name.Split("_")(1)) & "'")
                If dr2 IsNot Nothing Then '如果找到的话
                    dr("奖金_" & dc.Name.Split("_")(1)) = dr2("系数奖金")*dr1("系数_" & dc.Name.Split("_")(1))
                End If
            End If
        Next
    End If
Next


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/26 17:18:00 [显示全部帖子]

结果图

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120826171637.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/8/27 9:47:00 [显示全部帖子]

如果方便的话还是将整个文件传上来吧,你上面也看到了 dc.Name.Split("_")(1) ,象这种形式的取赋值有多处,而且两个表是对应的,如果贸然改了代码,两表不匹配会出错的。
[此贴子已经被作者于2012-8-27 9:47:03编辑过]

 回到顶部