Foxtable(狐表)用户栏目专家坐堂 → 求助 多表取组合值问题


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

主题:求助 多表取组合值问题

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 17:38:00 [显示全部帖子]

1、请说明哪个表哪些列要做什么操作,最后得到什么效果;

 

2、请说明运算的规则。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 9:44:00 [显示全部帖子]

Dim dt As DataTable = DataTables("SWDF")
Dim dt1 As DataTable = DataTables("Zb")
Dim dt2 As DataTable = DataTables("DWBJ")
Dim dt3 As DataTable = DataTables("PF1")
dt.DataRows.Clear
For Each dr As DataRow In dt2.Select("XMBH Is not null")
    Dim fdr1 As DataRow = dt1.Find("XMBH = '" & dr("XMBH") & "'")
    If fdr1 IsNot Nothing Then
        Dim YB As Double = dr("YB")
        For Each cdr As DataRow In dt3.Select("XMBH = '" & dr("XMBH") & "'")
            Dim ndr As DataRow = dt.AddNew
            ndr("XMBH") = dr("XMBH")
            ndr("dw") = dr("dw")
            ndr("K1n") = cdr("k1n")
            If yb = 0 Then
                ndr("S1") = 0
            ElseIf dr("YB") = cdr("PJ") Then
                ndr("S1") = fdr1("Sx")
            ElseIf dr("YB") > cdr("PJ") Then
                ndr("S1") = fdr1("Sx")-fdr1("Cjk")*(YB-cdr("PJ"))*100/cdr("PJ")
            ElseIf dr("YB") < cdr("PJ") Then
                ndr("S1") = fdr1("Sx")-fdr1("Djk")*(cdr("PJ")-YB)*100/cdr("PJ")
            End If
        Next
    End If
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 11:16:00 [显示全部帖子]

单独做一个按钮运行6楼的代码,我测试没问题


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 16:19:00 [显示全部帖子]

以下是引用dade在2016/4/22 16:07:00的发言:

奇怪,该代码在命令窗口执行也行的。但为什么在表事件里就不能运行呢?

 

你这种就不适合放到表事件去。

 

你查找评发表的时候,有多行数据,你怎么能确定要找哪一行。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/22 17:07:00 [显示全部帖子]

以下是引用dade在2016/4/22 17:04:00的发言:

有道理,那么,评法表里再定义一个顺序列或者用 _Identify ,再按序取值应该可以了?

 

除非你在 得分表 加入一列记录人 1、2、3 的值才能查找。


 回到顶部