Foxtable(狐表)用户栏目专家坐堂 → 条件统计,


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

主题:条件统计,

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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
条件统计,  发帖心情 Post By:2017/8/29 13:27:00 [只看该作者]

老师,我表A有数据后,当表C有一样的项目编码、工程名称、计量期数时,(在表A数据录入时,表C没有相同打项目编号、工程名称和计量期数,当表B有时,表B才统计表A数据)

1、把表A抵扣状态为”已抵扣“的fa piao类别为:“专piao、普piao”的fa piao金额统计到表C对应的成本fa piao金额;

2、把表A抵扣状态为”已抵扣“的fa piao类别为:"人工工资"的统计到表C对应的人工工资金额;

代码证明写呢?

表C的数据是通过表B自动引用过来的。

我做了一个示例,上传上来,麻烦老师看一下。

 

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

[此贴子已经被作者于2017/8/29 13:33:40编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 14:55:00 [只看该作者]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 15:02:00 [只看该作者]

Select Case e.DataCol.name
    Case "项目编码","项目名称","计量期数"
        Dim filter As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "' And 计量期数='" & e.DataRow("计量期数") & "'"
        e.DataRow("成本fa piao金额") = DataTables("表A").Compute("sum(fa piao金额)", filter & " And 抵扣状态='已抵扣' and fa piao类别 in ('普piao','专piao')")
        e.DataRow("人工工资金额") = DataTables("表A").Compute("sum(fa piao金额)", filter & " and 抵扣状态='已抵扣' and fa piao类别='人工工资'")
End Select

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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/9/12 14:56:00 [只看该作者]

老师,看看这是怎么回事,老师提示找不到列:计量期数,实际是有的,代码截图如下:

Select Case e.DataCol.name
    Case "申请金额","企业所得税率","管理费费率","个人所得税率","手续费","安全保证金","质量保证金","应急保证金","资料保证金","人工工资","成本差额","其他费用","应缴增值税","预交增值税","抵扣增值税","应补增值税","扣税明细_小计","现金补税","个人所得税","企业所得税","成本差额税率","成本差额税","累计扣款"
        Dim fdr As DataRow = DataTables("工程款申请").Find("_Identify = " & e.DataRow("临时列"))
        If fdr IsNot Nothing Then
            fdr("实际支付金额") = e.DataRow("实际支付金额")
        End If
End Select

Select Case e.DataCol.name
    Case "项目编码","项目名称","计量期数"
        Dim filter As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "' And 计量期数='" & e.DataRow("计量期数") & "'"
        e.DataRow("fa piao金额") = DataTables("开piao情况").Compute("sum(开piao金额)", filter & " And 开piao状态='已开piao'")
        e.DataRow("成本fa piao") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter & " And 登记状态='已复审' and fa piao类别 in ('普piao','专piao')")
        e.DataRow("人工工资") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter & " And 登记状态='已复审' and fa piao类别='人工工资'")
End Select

 ,


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

 


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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 16:28:00 [只看该作者]

提示没有对应的列,就是没有。

 

你表【开piao情况】、【进项piao录入】都有对应的列吗?如果没有,你应该修改你的统计条件。


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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/9/12 16:39:00 [只看该作者]

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.8.19.1
错误所在事件:表,工程款管理,DataColChanged
详细错误信息:
调用的目标发生了异常。
无法在 System.Boolean 和 System.String 上执行“=”操作。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 17:26:00 [只看该作者]

试试

 

Select Case e.DataCol.name
    Case "项目编码","项目名称","计量期数"
        Dim filter1 As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "' And 计量期数='" & e.DataRow("计量期数") & "'"

        Dim filter2 As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "'"
        e.DataRow("fa piao金额") = DataTables("开piao情况").Compute("sum(开piao金额)", filter2 & " And 开piao状态='已开piao'")
        e.DataRow("成本fa piao") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter1 & " And 登记状态='已复审' and fa piao类别 in ('普piao','专piao')")
        e.DataRow("人工工资") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter1 & " And 登记状态='已复审' and fa piao类别='人工工资'")
End Select


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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/9/13 9:46:00 [只看该作者]

以下是引用有点甜在2017/9/12 17:26:00的发言:

试试

 

Select Case e.DataCol.name
    Case "项目编码","项目名称","计量期数"
        Dim filter1 As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "' And 计量期数='" & e.DataRow("计量期数") & "'"

        Dim filter2 As String = "项目编码='" & e.DataRow("项目编码") & "' and 项目名称='" & e.DataRow("项目名称") & "'"
        e.DataRow("fa piao金额") = DataTables("开piao情况").Compute("sum(开piao金额)", filter2 & " And 开piao状态='已开piao'")
        e.DataRow("成本fa piao") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter1 & " And 登记状态='已复审' and fa piao类别 in ('普piao','专piao')")
        e.DataRow("人工工资") = DataTables("进项piao录入").Compute("sum(进项piao_税价合计金额)", filter1 & " And 登记状态='已复审' and fa piao类别='人工工资'")
End Select

还是不行


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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 9:52:00 [只看该作者]

e.DataRow("fa piao金额") = DataTables("开piao情况").Compute("sum(开piao金额)", filter2 & " And 开piao状态='已开piao'")

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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2017/9/13 10:06:00 [只看该作者]

调试1出来了,2没出来,应该是2之前的代码有问题样、


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


 回到顶部
总数 16 1 2 下一页