以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于跨表取数的问题[已解决]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113947)

--  作者:jackfreeman
--  发布时间:2018/1/25 16:52:00
--  [求助]关于跨表取数的问题[已解决]
说明:一个成绩汇总表,一个成绩查询表,表结构不要变化,姓名和学科是匹配字段,需将匹配成绩填充至成绩查询表中。
成绩查询表从成绩汇总表中查找姓名和学科,然后填充成绩查询表中的数据。
问题:匹配学科时发生问题,如图中有底色部分。
求助大神帮帮忙!在线等!

If e.DataCol.name="姓名" OrElse e.DataCol.name="学科"  Then
   If e.DataRow.IsNull("姓名")=False AndAlso e.DataRow.IsNull("学科")=False Then
       Dim dr As DataRow = DataTables("成绩汇总").Find("姓名=\'" & e.DataRow("姓名") & "\'")
       If dr IsNot Nothing Then
       Dim d As Integer = val(e.DataRow("学科"))
          e.DataRow("成绩")=dr(Tables("成绩汇总").cols(d).name)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table

       End If
    End If
End If
[此贴子已经被作者于2018/1/25 17:09:33编辑过]

--  作者:有点甜
--  发布时间:2018/1/25 17:05:00
--  
If e.DataCol.name="姓名" OrElse e.DataCol.name="学科"  Then
    If e.DataRow.IsNull("姓名")=False AndAlso e.DataRow.IsNull("学科")=False Then
        Dim dr As DataRow = DataTables("成绩汇总").Find("姓名=\'" & e.DataRow("姓名") & "\'")
        If dr IsNot Nothing Then
            If dr.DataTable.DataCols.Contains(e.DataRow("学科")) Then
                e.DataRow("成绩")=dr(e.DataRow("学科"))
            Else
                e.DataRow("成绩")=Nothing
            End If
        End If
    End If
End If

--  作者:jackfreeman
--  发布时间:2018/1/25 17:09:00
--  
谢谢版主,非常之感谢,学习了!