Foxtable(狐表)用户栏目专家坐堂 → [求助]能否用For...Next语句,实现跨表引用(已解决)


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

主题:[求助]能否用For...Next语句,实现跨表引用(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1530 积分:10639 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]能否用For...Next语句,实现跨表引用(已解决)  发帖心情 Post By:2012/1/31 9:53:00 [只看该作者]

各位老师新年好!!

要求根据数据表的职务与系数的对应关系,将设置表与职务对应的系数填充到数据表对应月份的系数单元格。
一月份的填充代码如下(按钮代码):

'填充系数
Dim pr As DataRow
For Each dr1 As DataRow In DataTables("数据").DataRows
    If dr1.IsNull("职务_1")  Then
        dr1("系数_1") = Nothing
    Else
        pr = DataTables("设置").Find("职务 = '"& dr1("职务_1")&"'")
        If pr IsNot Nothing Then
            dr1("系数_1") = pr("系数")
        Else
            dr1("系数_1") = Nothing
        End If
    End If
Next


希望用For...Next语句,将一至十二月的系数填充到对应单元格,上述代码如何修改,请各位老师帮助指教,谢谢!!

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目177.table

[此贴子已经被作者于2012-1-31 10:13:13编辑过]

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


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

Dim pr As DataRow
For Each dr1 As DataRow In DataTables("数据").DataRows
    For i As Integer = 1 To 12
        If dr1.IsNull("职务_" & i)  Then
            dr1("系数_" & i) = Nothing
        Else
            pr = DataTables("设置").Find("职务 = '"& dr1("职务_" & i) & "'")
            If pr IsNot Nothing Then
                dr1("系数_" & i) = pr("系数")
            Else
                dr1("系数_" & i) = Nothing
            End If
        End If
    Next
Next

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


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

圆满解决,谢谢狐爸老师!!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/1/31 10:16:00 [只看该作者]

改变思路,无需循环:

 

数据表DataColChanged事件代码:

Dim s As String =  left(e.DataCol.name,2)
If s = "职务"
    Dim dr As DataRow
    dr = DataTables("设置").Find("职务 = '" & e.DataRow(e.DataCol.name) & "'")
    If dr IsNot Nothing
        e.DataRow("系数" & e.DataCol.name.Replace(s,"")) = dr("系数")
    End If
End If

 

【刷新】按钮代码代码去掉填充系数部分即可,其他也可以如法炮制,留给您自己做作业。

 

 

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


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/1/31 10:17:00 [只看该作者]

哈哈,马后炮了,不过多一种解决问题的思路!(自我安慰一下图片点击可在新窗口打开查看

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


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

谢谢程老师的指教,有点深奥,待学生慢慢消化。祝程老师新年快乐,心想事成!!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/1/31 16:46:00 [只看该作者]

谢谢!

 回到顶部