Foxtable(狐表)用户栏目专家坐堂 → 从多个表中提取数据的问题


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

主题:从多个表中提取数据的问题

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
从多个表中提取数据的问题  发帖心情 Post By:2016/9/27 15:41:00 [只看该作者]

问题简述:设计了个校招系统,内含四个表 “录用人员” 、“备选人员”、“淘汰人员”、“测评记录”,这四个表中都有共同列“姓名”、“学校”、“身份证号”;其中,“测评记录”为笔试成绩记录表,三个  人员表  分别与  测评记录表  以身份证号列设置了关联,初步设定的是,在测评记录中新增行,只要输入身份证号码,则自动从三个表中匹配数据,“测评记录”表中的“姓名”、“学校”自动输入。我在“测评记录”表中的datacolchanged时间中写了如下代码,但仅适用于“录用人员”表中提取数据。求大神给思路,或帮忙优化下代码。

If e.DataCol.Name = "身份证号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("学校") = Nothing
        e.DataRow("姓名") = Nothing
    Else
        Dim dr As DataRow
        Dim dr1 As DataRow
        Dim dr2 As DataRow
        dr = e.DataRow.GetParentRow("录用人员")
        If dr IsNot Nothing
            e.DataRow("学校") = dr("学校")
            e.DataRow("姓名") = dr("姓名")
        Else
            dr1 = e.DataRow.GetParentRow("备选人员")
            If dr1 IsNot Nothing
                e.DataRow("学校") = dr1("学校")
                e.DataRow("姓名") = dr1("姓名")
            Else
                dr2 = e.DataRow.GetParentRow("淘汰人员")
                If dr2 IsNot Nothing
                    e.DataRow("学校") = dr2("学校")
                    e.DataRow("姓名") = dr2("姓名")
                End If
            End If 
        End If
    End If
End If

[此贴子已经被作者于2016/9/27 16:00:56编辑过]

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2016/9/27 16:06:00 [只看该作者]

已解决,代码没问题,不晓得咋回事。

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/9/27 16:07:00 [只看该作者]

If e.DataCol.Name = "身份证号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("学校") = Nothing
        e.DataRow("姓名") = Nothing
    Else
        Dim dr As DataRow
        dr = e.DataRow.GetParentRow("录用人员")
        If dr IsNot Nothing
            e.DataRow("学校") = dr("学校")
            e.DataRow("姓名") = dr("姓名")
        Else
            dr = e.DataRow.GetParentRow("备选人员")
            If dr IsNot Nothing
                e.DataRow("学校") = dr("学校")
                e.DataRow("姓名") = dr("姓名")
            Else
                dr = e.DataRow.GetParentRow("淘汰人员")
                If dr IsNot Nothing
                    e.DataRow("学校") = dr("学校")
                    e.DataRow("姓名") = dr("姓名")
                End If
            End If
        End If
    End If
End If



 回到顶部