以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31014)

--  作者:wsxdwh
--  发布时间:2013/4/8 17:13:00
--  [求助]

 

团体总分表与成绩表建立了关联。团体总分表为父表

现求助表达式:

团体总分表101班 30米_男列 =  成绩表中30米男子的积分之和    8 = 7+1

同理  101 班 30米_女 列 为   9 = 5 + 4

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


--  作者:wsxdwh
--  发布时间:2013/4/8 17:35:00
--  
是不是要再建一个关联表哇! 成绩表同表关联,关联列为项目和性别!?
--  作者:Bin
--  发布时间:2013/4/8 17:38:00
--  
你这个只能用代码实现了.表达式无法做到分类统计.
--  作者:wsxdwh
--  发布时间:2013/4/8 17:38:00
--  
只可惜我已下班,哪位专家帮我试试!
--  作者:wsxdwh
--  发布时间:2013/4/8 17:42:00
--  
代码如何编写?请指教!!!
--  作者:Bin
--  发布时间:2013/4/8 18:00:00
--  
If e.DataCol.Name="积分" Then
    Dim jflist As List(of DataRow)
    jflist=DataTables("成绩表").Select("[班级代码] = \'" & e.DataRow("班级代码")  & "\' and [性别] = \'" & e.DataRow("性别")  & "\' and [参赛项目] =\'" & e.DataRow("参赛项目")  & "\'")
    Dim jf As Integer
    If Not jflist Is Nothing Then
        For i As Integer=0 To jflist.Count-1
            jf=jf+Val(jflist(i)("积分"))
        Next
        DataTables("团体总分表").Find("班级代码 =" &  e.DataRow("班级代码"))(e.DataRow("性别") & e.DataRow("参赛项目") )=jf
    End If
End If
以上代码添加到成绩表的 DataColChanged事件中即可

--  作者:wsxdwh
--  发布时间:2013/4/8 18:23:00
--  
谢了!明天我试试。
--  作者:wsxdwh
--  发布时间:2013/4/9 13:56:00
--  

代码执行出错   团体 总分表没有反应!

If e.DataCol.Name="积分" Then
    Dim jflist As List(of DataRow)
    jflist=DataTables("成绩表").Select("[班级代码] = \'" & e.DataRow("班级代码")  & "\' and [性别] = \'" & e.DataRow("性别")  & "\' and [参赛项目] =\'" & e.DataRow("参赛项目")  & "\'")
    Dim jf As Integer
    If Not jflist Is Nothing Then
        For i As Integer=0 To jflist.Count-1
            jf=jf+Val(jflist(i)("积分"))
        Next
        DataTables("团体总分表").Find("班级代码 =" &  e.DataRow("班级代码"))(e.DataRow("性别") & e.DataRow("参赛项目") )=jf
    End If
End If

--  作者:wsxdwh
--  发布时间:2013/4/9 13:58:00
--  

稍作调整  行了  谢谢指教!!!