Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么有条件计算子表金额。


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

主题:[求助]怎么有条件计算子表金额。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/16 14:56:00 [显示全部帖子]

你得将这些列添加到表中,然后设置代码,注意这些列必须用数据列,不能是表达式列,表达式列统计的时候,无法设置条件:

 

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

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/16 15:12:00 [显示全部帖子]

呵呵,你是根据序号触发的,你重置序号列,单击菜单中的重置按钮,即可得到新的统计结果。

 

建议:

1、不应该用序号,应该根据工程名称判断

2、建议看看:

 

http://help.foxtable.com/topics/1454.htm

http://help.foxtable.com/topics/1472.htm

 

当然,开发指南中关于foxtable编程这一部分,整体应该多看几次,这是重点。

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/16 15:56:00 [显示全部帖子]

等你多看几次,熟悉了,就知道其实用狐表更容易的。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/17 15:01:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:税金计算.table


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/17 15:58:00 [显示全部帖子]

这样比较好:

 

If e.DataCol.Name = "工程名称" Then
    Dim dr As DataRow = e.DataRow
    Dim dr1 As DataRow = DataTables("应交税金计算表").Find("工程名称 = '" & dr("工程名称") & "'")
    Dim dr2 As DataRow = DataTables("已交税金统计表").Find("工程名称 = '" & dr("工程名称") & "'")
    Dim nms() As String = {"企业所得税","营业税","城建税","教育费附加","地方教育费附加","防洪保安费","印花税"}
    If dr1 isnot Nothing AndAlso dr2 isnot Nothing Then
        For Each nm As String In nms
            If dr1(nm) <> dr2(nm) Then
                dr(nm) = dr1(nm) - dr2(nm)
            Else
                dr(nm) = Nothing
            End If
        Next
    Next
End If


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/12/17 16:32:00 [显示全部帖子]

If e.DataCol.Name = "工程名称" Then
    Dim dr As DataRow = e.DataRow
    Dim dr1 As DataRow = DataTables("应交税金计算表").Find("工程名称 = '" & dr("工程名称") & "'")
    Dim dr2 As DataRow = DataTables("已交税金统计表").Find("工程名称 = '" & dr("工程名称") & "'")
    Dim nms() As String = {"企业所得税","营业税","城建税","教育费附加","地方教育费附加","防洪保安费","印花税"}
    If dr1 isnot Nothing AndAlso dr2 isnot Nothing Then
        For Each nm As String In nms
            If dr1(nm) <> dr2(nm) Then
                dr(nm) = dr1(nm) - dr2(nm)
            Else
                dr(nm) = Nothing
            End If
        Next
    End If
End If


 回到顶部