Foxtable(狐表)用户栏目专家坐堂 → 明细表汇总数据到汇总表编码问题


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

主题:明细表汇总数据到汇总表编码问题

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
明细表汇总数据到汇总表编码问题  发帖心情 Post By:2016/11/9 10:28:00 [只看该作者]


'按fa piao录入自动汇总到fa piao录入汇总表中
Select Case e.DataCol.Name
    Case "无税金额","供应商名称","会计年月","fa piao号","开piao日期"
        
        If e.DataRow.IsNull("供应商名称") OrElse e.DataRow.IsNull("会计年月") OrElse e.DataRow.IsNull("fa piao号") OrElse e.DataRow.IsNull("开piao日期")  Then
        Else
            Dim filter As String = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
            Dim dr2 As DataRow = DataTables("fa piao录入汇总").Find(filter)
            If dr2 Is Nothing Then
                dr2 = DataTables("fa piao录入汇总").AddNew()
                dr2("供应商名称") = e.DataRow("供应商名称")
                dr2("会计年月") = e.DataRow("会计年月")
                dr2("fa piao号") = e.DataRow("fa piao号")
                dr2("开piao日期") = e.DataRow("开piao日期")
            End If
            dr2("fa piao金额") = e.DataTable.Compute("sum(合计金额)",filter)
        End If
End Select

以上代码能实现,在fa piao录入表录入一条数据,能够汇总到fa piao汇总中。
但我想实现,如果fa piao录入表某个数据或全部数据清空,则fa piao汇总表中的相关数据也同时清空,编码怎么改。请各位老师帮忙。




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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/9 10:59:00 [只看该作者]

请有点蓝老师帮忙呀。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/9 11:21:00 [只看该作者]

多个列关联的比较麻烦

Select Case e.DataCol.Name
    Case "无税金额","供应商名称","会计年月","fa piao号","开piao日期"
        
        Dim filter As String
        If e.DataRow.IsNull("供应商名称") OrElse e.DataRow.IsNull("会计年月") OrElse e.DataRow.IsNull("fa piao号") OrElse e.DataRow.IsNull("开piao日期")  Then
            Select Case e.DataCol.Name
                Case "供应商名称"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.OldValue ,e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
                Case "会计年月"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.OldValue ,e.DataRow("fa piao号"),e.DataRow("开piao日期"))
                    
                Case "fa piao号"
                    其它列自己仿照改改
                Case "开piao日期"
                    其它列自己仿照改改

            End Select
            Dim dr As DataRow = DataTables("fa piao录入汇总").Find(filter)
            If dr IsNot Nothing Then dr.Delete
            Else
                filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
                Dim dr2 As DataRow = DataTables("fa piao录入汇总").Find(filter)
                If dr2 Is Nothing Then
                    dr2 = DataTables("fa piao录入汇总").AddNew()
                    dr2("供应商名称") = e.DataRow("供应商名称")
                    dr2("会计年月") = e.DataRow("会计年月")
                    dr2("fa piao号") = e.DataRow("fa piao号")
                    dr2("开piao日期") = e.DataRow("开piao日期")
                End If
                dr2("fa piao金额") = e.DataTable.Compute("sum(合计金额)",filter)
            End If
    End Select

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/9 13:56:00 [只看该作者]

'按fa piao录入自动汇总到fa piao录入汇总表中
Select Case e.DataCol.Name
    Case "无税金额","供应商名称","会计年月","fa piao号","开piao日期"
        
        Dim filter As String
        If e.DataRow.IsNull("供应商名称") OrElse e.DataRow.IsNull("会计年月") OrElse e.DataRow.IsNull("fa piao号") OrElse e.DataRow.IsNull("开piao日期")  Then
            Select Case e.DataCol.Name
                Case "供应商名称"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.OldValue ,e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
                Case "会计年月"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.OldValue ,e.DataRow("fa piao号"),e.DataRow("开piao日期"))
                    
                Case "fa piao号"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称") ,e.DataRow("fa piao号"),e.OldValue,e.DataRow("开piao日期"))
                    
                Case "开piao日期"
                    filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称") ,e.DataRow("fa piao号"),e.DataRow("开piao日期"),e.OldValue)
                    
            End Select
            Dim dr2 As DataRow = DataTables("fa piao录入汇总").Find(filter)
            If dr2 IsNot Nothing Then dr.Delete
        Else
            filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
            Dim dr2 As DataRow = DataTables("fa piao录入汇总").Find(filter)
            If dr2 Is Nothing Then
                dr2 = DataTables("fa piao录入汇总").AddNew()
                dr2("供应商名称") = e.DataRow("供应商名称")
                dr2("会计年月") = e.DataRow("会计年月")
                dr2("fa piao号") = e.DataRow("fa piao号")
                dr2("开piao日期") = e.DataRow("开piao日期")
            End If
            dr2("fa piao金额") = e.DataTable.Compute("sum(合计金额)",filter)
        End If
End Select

有点蓝老师,代码我改了,但还是实现不了,删除明细表的行,汇总表里相对应的也删除。我不知道是哪出了问题。


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/9 14:16:00 [只看该作者]

你是要删除还是不要删除?

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/9 15:27:00 [只看该作者]

有点蓝老师,您好。我的想法是:明细表录入的时候,汇总表按要求汇总。明细表删除的时候,汇总表里的相对应数据一并删除。

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/9 15:32:00 [只看该作者]

DataRowDeleting事件

dim filter = CExp("供应商名称 ='{0}' and 会计年月='{1}' and fa piao号='{2}' and 开piao日期='{3}'",e.DataRow("供应商名称"),e.DataRow("会计年月"),e.DataRow("fa piao号"),e.DataRow("开piao日期"))
            Dim dr2 As DataRow = DataTables("fa piao录入汇总").Find(filter)
If dr2 IsNot Nothing Then dr2.Delete

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/9 22:28:00 [只看该作者]

非常感谢有点蓝老师。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/10 7:50:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:fa piao录入2.rar

有点蓝老师,还是不行,我上传了附件,帮忙看一下。

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


加好友 发短信
等级:二尾狐 帖子:503 积分:4002 威望:0 精华:0 注册:2016/6/7 7:45:00
  发帖心情 Post By:2016/11/10 8:46:00 [只看该作者]

请有点蓝老师帮忙。

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