以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  我有这样一个统计  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68551)

--  作者:cyrollin
--  发布时间:2015/5/20 11:22:00
--  我有这样一个统计
有二个表,一个是 客户数据表 , 另一个是 片区统计

要求在片区统计表里面统计客户数据表里的客户所在片区,接星期统计,如下显示:


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

下面是我的表:


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


下面是我的代码,写了个开头,后面不知道怎么写了:

If e.DataCol.Name = "片区" Then
    Dim cns() As String = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}
    If e.NewValue = Nothing Then
        For Each cn As String In cns
            e.DataRow(cn) = Nothing
        Next
    Else
        Dim filter As String = "(片区 = \'"  & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & ",%\' or 片区 like \'" & e.DataRow("片区") & ",%\')"
        For i As Integer = 0 To cns.Length - 1
                    e.DataRow(cns(i)) = DataTables("客户数据").compute("count(片区)", .............................
        Next
    End If
End If

[此贴子已经被作者于2015/5/20 11:24:24编辑过]

--  作者:Bin
--  发布时间:2015/5/20 11:30:00
--  
 e.DataRow(cns(i)) = DataTables("客户数据").compute("count(片区)", "固定时间=\'" & cns(i) & "\' and 片区=\'" & e.datarow("片区") & "\'")
--  作者:大红袍
--  发布时间:2015/5/20 11:31:00
--  
If e.DataCol.Name = "片区" Then
    Dim cns() As String = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}
    If e.NewValue = Nothing Then
        For Each cn As String In cns
            e.DataRow(cn) = Nothing
        Next
        e.DataRow("片区客户数") = Nothing
    Else
        Dim filter As String = "(片区 = \'"  & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & ",%\' or 片区 like \'" & e.DataRow("片区") & ",%\')"
        For i As Integer = 0 To cns.Length - 1
            e.DataRow(cns(i)) = DataTables("客户数据").compute("count(片区)", filter & " and 固定时间 = \'" & cns(i) & "\'")
        Next
        e.DataRow("片区客户数") = DataTables("客户数据").compute("count(片区)", filter)
    End If
End If

--  作者:cyrollin
--  发布时间:2015/5/20 11:38:00
--  
非常感谢
--  作者:cyrollin
--  发布时间:2015/5/20 11:50:00
--  
如果没有数据,会显示为 0,可以不让他显示吗,怎么修改一下


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


--  作者:Bin
--  发布时间:2015/5/20 11:52:00
--  
 dim cp as integer = DataTables("客户数据").compute("count(片区)", filter)
e.DataRow("片区客户数") = IIF(cp=0,nothing,cp)



--  作者:cyrollin
--  发布时间:2015/5/20 13:44:00
--  
BIN 您好,如果用大红袍的代码,怎么修改成您的呢?
--  作者:Bin
--  发布时间:2015/5/20 13:45:00
--  
我这个就是大红袍的代码.  我上面的代码不也是一样的道理么
--  作者:cyrollin
--  发布时间:2015/5/20 14:06:00
--  
哦,这二句添加或修改在哪里呢?
--  作者:Bin
--  发布时间:2015/5/20 14:11:00
--  
If e.DataCol.Name = "片区" Then
    Dim cns() As String = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"}
    If e.NewValue = Nothing Then
        For Each cn As String In cns
            e.DataRow(cn) = Nothing
        Next
        e.DataRow("片区客户数") = Nothing
    Else
        Dim filter As String = "(片区 = \'"  & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & "\' or 片区 like \'%," & e.DataRow("片区") & ",%\' or 片区 like \'" & e.DataRow("片区") & ",%\')"
        For i As Integer = 0 To cns.Length - 1
            dim c as integer = DataTables("客户数据").compute("count(片区)", filter & " and 固定时间 = \'" & cns(i) & "\'")
            e.DataRow(cns(i)) = 
IIF(c=0,nothing,c)

        Next
        
dim cp as integer = DataTables("客户数据").compute("count(片区)", filter)
e.DataRow("片区客户数") = IIF(cp=0,nothing,cp)
    End If
End If