以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这种表格如何统计  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132876)

--  作者:ZJZK2018
--  发布时间:2019/4/1 11:20:00
--  这种表格如何统计
有“开标明细”和“收款明细”二张表,其中 合同编号、项目名称、款项内容这三列是二张表都有的字段列,根据这三列对这二张表进行统计,但有点时候已开票付款时会分期付款,就有点难统计,或已开票但未付款,无法确定以哪个表为基表进行统计?
需求:1、如何用代码进行统计汇总??
        2、统计表能设置合并模式,如何设置??
       

此主题相关图片如下:1111932.png
按此在新窗口浏览图片

[此贴子已经被作者于2019/4/1 11:24:32编辑过]

--  作者:有点甜
--  发布时间:2019/4/1 12:45:00
--  

把重复数据去除后统计

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=126939&skin=0

 

[此贴子已经被作者于2019/4/1 12:44:36编辑过]

--  作者:有点甜
--  发布时间:2019/4/1 12:46:00
--  

 

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "第一列,第二列"
For Each dr As DataRow In DataTables("表A").Select("", "第一列,第二列")
   
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag OrElse pdr Is Nothing Then
        If count > 1 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
    Else
        count += 1
        idx_temp &= dr("_Identify") & ","
    End If
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify not in (" & idx.trim(",") & ")"  \'显示唯一值


--  作者:ZJZK2018
--  发布时间:2019/4/1 14:56:00
--  
如何把项目名称为CCC这个数据统计进来??


Dim jb As new SQLJoinTableBuilder("汇总表1","收款明细")
jb.AddTable("收款明细","合同编号","开票明细","合同编号")
jb.AddCols("{收款明细}.合同编号","{收款明细}.项目名称","{收款明细}.款项内容","开票明细_开票时间","开票明细_开票金额","收款明细_开票时间","收款明细_开票金额")
jb.Build()
MainTable = Tables("汇总表1")

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:明细汇总.table


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



--  作者:有点甜
--  发布时间:2019/4/1 15:12:00
--  

比如

 

Dim jb As new SQLJoinTableBuilder("汇总表1","收款明细")
jb.AddTable("收款明细","合同编号","开票明细","合同编号", JoinModeEnum.right)
jb.AddCols("{收款明细}.合同编号","{收款明细}.项目名称","{收款明细}.款项内容","开票明细_开票时间","开票明细_开票金额","收款明细_开票时间","收款明细_开票金额")
jb.Build()
MainTable = Tables("汇总表1")

 

如果需要【收款明细】的多余项目,也统计出来,你需要组合统计,如

 

http://www.foxtable.com/webhelp/scr/2305.htm

 


--  作者:ZJZK2018
--  发布时间:2019/4/1 15:20:00
--  
数据是出来了,但前面的合同编号、项目名称、款项内容这三列数据没有了,如何统计??


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


--  作者:有点甜
--  发布时间:2019/4/1 15:22:00
--  

那你就改成

 

jb.AddCols("{开票明细}.合同编号","{开票明细}.项目名称","{收款明细}.款项内容","开票明细_开票时间","开票明细_开票金额","收款明细_开票时间","收款明细_开票金额")


--  作者:ZJZK2018
--  发布时间:2019/4/1 16:30:00
--  
下面代码出现错误提示:“不支持连接表达式。”
需求是:想把系统编号表中的"归属部门","地区"二列的数据统计进来。

Dim jb As new SQLJoinTableBuilder("汇总表1","收款明细")
jb.AddTable("收款明细","合同编号","开票明细","合同编号", JoinModeEnum.right)
jb.AddTable("收款明细","合同编号","系统编号","合同编号",JoinModeEnum.right)
jb.AddCols("{开票明细}.合同编号","{开票明细}.项目名称","{开票明细}.款项内容","归属部门","地区","开票明细_开票时间","开票明细_开票金额","收款明细_开票时间","收款明细_开票金额")
jb.Build()
MainTable = Tables("汇总表1")

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:明细汇总.table


[此贴子已经被作者于2019/4/1 16:34:28编辑过]

--  作者:有点甜
--  发布时间:2019/4/1 17:27:00
--  
Dim jb As new SQLJoinTableBuilder("汇总表1","收款明细")
jb.AddTable("收款明细","合同编号","开票明细","合同编号", JoinModeEnum.right)
jb.AddTable("开票明细","合同编号","系统编号","合同编号", JoinModeEnum.right)
jb.AddCols("{开票明细}.合同编号","{开票明细}.项目名称","{开票明细}.款项内容","归属部门","地区","开票明细_开票时间","开票明细_开票金额","收款明细_开票时间","收款明细_开票金额")
jb.Build()
MainTable = Tables("汇总表1")