Foxtable(狐表)用户栏目专家坐堂 → 老师,手工统计没数据怎么回事呢?


  共有1416人关注过本帖树形打印复制链接

主题:老师,手工统计没数据怎么回事呢?

帅哥哟,离线,有人找我吗?
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
老师,手工统计没数据怎么回事呢?  发帖心情 Post By:2024/4/30 17:01:00 [只看该作者]

Dim txt As String = e.Sender.Value
If txt = "" Then
    e.Form.Controls("Panel2").Visible = True
Else
    e.Form.StopRedraw()
    e.Form.Controls("Panel2").Visible = False
    Dim dtb As New DataTableBuilder("统计")
    dtb.AddDef("供货方名称", GetType(String), 100)
    dtb.AddDef("采购合同金额", GetType(Double))
    dtb.AddDef("已支付金额", GetType(Double))
    dtb.AddDef("未支付金额", GetType(Double))
    dtb.AddDef("已开piao金额", GetType(Double))
    dtb.AddDef("未开piao金额", GetType(Double))
    dtb.AddDef("是否异常", GetType(Boolean))
    dtb.AddDef("异常原因", GetType(String), 50)
    dtb.Build()
    Dim dt1 As DataTable = DataTables("采购合同管理")
    Dim dt2 As DataTable = DataTables("委托支付管理")
    Dim dt3 As DataTable = DataTables("进项piao录入")
    For Each nm As String In dt1.SQLGetValues("供货方名称", "[项目名称] = '" & txt & "'")
        Dim dr As DataRow = DataTables("统计").AddNew()
        dr("供货方名称") = nm
        dr("采购合同金额") = dt1.sqlCompute("Sum(采购合同金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("已支付金额") = dt2.sqlCompute("Sum(付款金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("未支付金额") = dr("采购合同金额") - dr("已支付金额")
        dr("已开piao金额") = dt3.sqlCompute("Sum(税价合计金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("未开piao金额") = dr("已支付金额") - dr("已开piao金额")
        If dr("未开piao金额") < 0 Then
            dr("是否异常") = True
            dr("异常原因") = "开piao金额大余委托支付金额"
        ElseIf dr("未开piao金额") > 0 Then
            dr("是否异常") = True
            dr("异常原因") = "付款后未收到足额的进项piao"
        End If
    Next
    '    MainTable = Tables("统计")
    With Tables("采购合同数据分析_Table1")
        .DataSource = dtb.BuildDataSource()
        .DataTable.DataCols.Add("序号", GetType(Integer)) '新增序号列
        .DataTable.DataCols.Add("备注", GetType(String)) '新增序号列
        .Cols("序号").Move(0)
        For Each r As Row In Tables("采购合同数据分析_Table1").Rows
            r("序号") = r.index + 1
        Next
        .DefaultRowHeight = 25 '所有行高
        .Cols("序号").TextAlign = TextAlignEnum.Center '居中
        .Cols("序号").Width = 60
        .Cols("供货方名称").Width = 300
        .Cols("采购合同金额").Width = 120
        .Cols("已支付金额").Width = 120
        .Cols("未支付金额").Width = 120
        .Cols("已开piao金额").Width = 120
        .Cols("未开piao金额").Width = 120
        .Cols("是否异常").Width = 70
        .Cols("异常原因").Width = 300
        .ExtendLastCol = True '自动列宽
    End With
    e.Form.ResumeRedraw()
End If

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/30 17:10:00 [只看该作者]

1、Build()和BuildDataSource只能使用其中一个
2、必须在添加数据前调用Build()或者BuildDataSource

……
    dtb.AddDef("异常原因", GetType(String), 50)
      With Tables("采购合同数据分析_Table1")
        .DataSource = dtb.BuildDataSource()
    Dim dt1 As DataTable = DataTables("采购合同管理")
    Dim dt2 As DataTable = DataTables("委托支付管理")
    Dim dt3 As DataTable = DataTables("进项piao录入")
    For Each nm As String In dt1.SQLGetValues("供货方名称", "[项目名称] = '" & txt & "'")
        Dim dr As DataRow = DataTables("采购合同数据分析_Table1").AddNew()
        dr("供货方名称") = nm
        dr("采购合同金额") = dt1.sqlCompute("Sum(采购合同金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("已支付金额") = dt2.sqlCompute("Sum(付款金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("未支付金额") = dr("采购合同金额") - dr("已支付金额")
        dr("已开piao金额") = dt3.sqlCompute("Sum(税价合计金额)", "[供货方名称] = '" & dr("供货方名称") & "'")
        dr("未开piao金额") = dr("已支付金额") - dr("已开piao金额")
        If dr("未开piao金额") < 0 Then
            dr("是否异常") = True
            dr("异常原因") = "开piao金额大余委托支付金额"
        ElseIf dr("未开piao金额") > 0 Then
            dr("是否异常") = True
            dr("异常原因") = "付款后未收到足额的进项piao"
        End If
    Next
    '    MainTable = Tables("统计")

        .DataTable.DataCols.Add("序号", GetType(Integer)) '新增序号列
        .DataTable.DataCols.Add("备注", GetType(String)) '新增序号列
……

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3205 积分:21299 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/4/30 17:17:00 [只看该作者]

谢谢
[此贴子已经被作者于2024/4/30 17:20:52编辑过]

 回到顶部