以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  多列汇总问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=104920)

--  作者:douglas738888
--  发布时间:2017/8/8 15:45:00
--  多列汇总问题

请教老师,下列代码 想实现从一个表的行的多列,勾选汇总完成,该行的相关列内容汇总到 另一个表的某列中

 

如果只是汇总某行的某一列的内容到另一个表是能实现的,但是多列汇总到一个表,应该怎样调整代码

 

Select Case e.DataCol.Name
    Case "图纸设计说明","方案说明","技术表述"
        If e.DataCol.Name = "汇总完成"  Then \'勾选汇总完成列,对应日志编号的内容汇总到"工作日志月报副表"的"工作内容"
            Dim pdr As DataRow = DataTables("工作日志月报表").find("日志编号 = \'" & e.DataRow("日志编号") & "\'")
            If pdr IsNot Nothing Then
                Dim str As String = ""
                For Each dr As DataRow In DataTables("工作日志表").Select("日志编号 = \'" & e.DataRow("日志编号") & "\'")
                    str & = dr("图纸设计说明") & vbcrlf  dr("方案说明") & vbcrlf  dr("技术表述") & vbcrlf 
                Next
                pdr("工作内容") = str.trim(chr(10), chr(13))
            End If
        End If
End Select


--  作者:有点甜
--  发布时间:2017/8/8 15:49:00
--  

直接写

 


If e.DataCol.Name = "汇总完成"  Then \'勾选汇总完成列,对应日志编号的内容汇总到"工作日志月报副表"的"工作内容"
    Dim pdr As DataRow = DataTables("工作日志月报表").find("日志编号 = \'" & e.DataRow("日志编号") & "\'")
   
    If pdr Is Nothing Then
        pdr = DataTables("工作日志月报表").AddNew
        pdr("日志编号") = e.DataRow("日志编号")
    End If
    Dim str As String = ""
    For Each dr As DataRow In DataTables("工作日志表").Select("日志编号 = \'" & e.DataRow("日志编号") & "\'")
        str & = dr("图纸设计说明") & vbcrlf & dr("方案说明") & vbcrlf & dr("技术表述") & vbcrlf
    Next
    pdr("工作内容") = str.trim(chr(10), chr(13))
End If