以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表填充问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95353)

--  作者:jamhuton
--  发布时间:2017/1/17 15:08:00
--  跨表填充问题
Select Case e.DataCol.name
    Case "客户简称","月份"
            e.DataRow("金4") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )  
            e.DataRow("金6") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )       
            e.DataRow("金8") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )       
End Select

用这代码,3个列会同时填充,是否要加else,如何加?

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/1/17 15:11:00
--  
 那你的逻辑是什么?如何才是正确的?
--  作者:jamhuton
--  发布时间:2017/1/17 15:12:00
--  
按照“客户简称”,“月份”来分开,图中的“金4”“金6”“金8”就是对应箭头中的列
[此贴子已经被作者于2017/1/17 15:16:00编辑过]

--  作者:有点色
--  发布时间:2017/1/17 15:15:00
--  

 这个意思?

 

e.DataRow("金8") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\' and 类型 = \'SDS进口\'" )


--  作者:jamhuton
--  发布时间:2017/1/17 15:25:00
--  



按照客户和月份,来填入另外一张数据表的统计数据,后面的每个列对应一个客户
[此贴子已经被作者于2017/1/17 15:28:23编辑过]

--  作者:有点色
--  发布时间:2017/1/17 15:28:00
--  
Select Case e.DataCol.name
    Case "客户简称","月份"
        If e.DataRow("客户简称") = "AAA" Then
            e.DataRow("金4") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )  
        ElseIf e.DataRow("客户简称") = "BBB" Then
            e.DataRow("金6") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )       
        End If
End Select

--  作者:jamhuton
--  发布时间:2017/1/17 15:37:00
--  
Select Case e.DataCol.name
    Case "客户简称","月份"
        If e.DataRow("客户简称") = "AAA" Then
            e.DataRow("金4") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )  
        ElseIf e.DataRow("客户简称") = "BBB" Then
            e.DataRow("金6") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" )      
        ElseIf e.DataRow("客户简称") = "ccc" Then
            e.DataRow("金8") = DataTables("账单明细").Compute("count(提单号码)","[客户简称]= \'" & e.DataRow("客户简称") & "\' And [月份]= \'" & e.DataRow("月份") & "\'" ) 
        End If
End Select

3个的话是不是这样?


--  作者:有点色
--  发布时间:2017/1/17 15:38:00
--  
 是。
--  作者:jamhuton
--  发布时间:2017/1/17 15:46:00
--  
谢谢老师