Foxtable(狐表)用户栏目专家坐堂 → 按条件条件合并表格


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

主题:按条件条件合并表格

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


加好友 发短信
等级:幼狐 帖子:129 积分:437 威望:0 精华:0 注册:2015/3/4 12:02:00
按条件条件合并表格  发帖心情 Post By:2018/1/15 23:33:00 [只看该作者]

一个收入明细,一个支出明细,,希望能首先按照日期,相同日期的行 按照先收入后支出,先收人高再收入低,支出少,最后支出多的 顺序  。合并成新的表格 交易明细。请教老师

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/16 8:47:00 [只看该作者]


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


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

参考代码

 

select 公司, 收款金额, 0 as 发货金额 from {收款} union all select 公司, 0, 发货金额 from {发货}

 

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

 


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


加好友 发短信
等级:幼狐 帖子:129 积分:437 威望:0 精华:0 注册:2015/3/4 12:02:00
  发帖心情 Post By:2018/1/16 11:08:00 [只看该作者]

按照老师的方法得到的表格不能用作流水账的表格吧?不能做出帮助中流水账的效果吧?


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


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

可以的。重新load查询表后,生成余额,如

 

DataTables("入库与支付").Load

For Each h As String In  DataTables("入库与支付").GetValues("供应商")
    Dim drs As List(Of DataRow) = DataTables("入库与支付").Select("供应商='" & h & "'","日期")
    If drs.Count > 0 Then
        drs(0)("余额") = drs(0)("入库金额") - drs(0)("支付金额")
        If drs.Count > 1 Then
            For i As Integer = 1 To drs.Count - 1
                drs(i)("余额") = drs(i-1)("余额") + drs(i)("入库金额") - drs(i)("支付金额")
            Next
        End If
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:129 积分:437 威望:0 精华:0 注册:2015/3/4 12:02:00
  发帖心情 Post By:2018/1/25 21:32:00 [只看该作者]


 

Dim r As Row = e.Table.Current
If r IsNot Nothing Then
    DataTables("明细").DataRows.Clear
    Dim Filter As String = "账单编号 = '" & e.DataRow("账单编号")&"'"
    Dim Names() As String = {"收入明细","支出明细"}
    For Each Name As String In Names
        Dim prs As List(Of DataRow) = DataTables(Name).Select(Filter,"出账日期")
        For Each pr As DataRow In prs
            Dim dr As DataRow  = DataTables("明细").AddNew()
            DataTables("明细").StopRedraw
            dr("账单编号") = pr("账单编号")
            dr("交易日期") = pr("交易日期")
            dr("交易方式") = pr("交易方式")
            dr("业务编号") = pr("业务编号")
            dr("对象编号") = pr("对象编号")
            dr("对象名称") = pr("对象名称")
            dr("账户编号") = pr("账户编号")
            dr("账户名称") = pr("账户名称")
            dr("出账") = pr("出账")
            dr("审核") = pr("审核")
            If pr.DataTable.Name = "收入明细"
                dr("收入金额") = pr("交易金额")
                dr("支出金额") = Nothing
            ElseIf pr.DataTable.Name = "支出明细"
                dr("支出金额") = pr("交易金额")
                dr("收入金额") = Nothing
            End If
            DataTables("明细").ResumeRedraw
        Next
    Next
End If


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


加好友 发短信
等级:幼狐 帖子:129 积分:437 威望:0 精华:0 注册:2015/3/4 12:02:00
  发帖心情 Post By:2018/1/25 21:33:00 [只看该作者]

Dim r As Row = e.Table.Current
If r IsNot Nothing Then
    DataTables("明细").DataRows.Clear
    Dim Filter As String = "账单编号 = '" & e.DataRow("账单编号")&"'"
    Dim Names() As String = {"收入明细","支出明细"}
    For Each Name As String In Names
        Dim prs As List(Of DataRow) = DataTables(Name).Select(Filter,"出账日期")
        For Each pr As DataRow In prs
            Dim dr As DataRow  = DataTables("明细").AddNew()
            DataTables("明细").StopRedraw
            dr("账单编号") = pr("账单编号")
            dr("交易日期") = pr("交易日期")
            dr("交易方式") = pr("交易方式")
            dr("业务编号") = pr("业务编号")
            dr("对象编号") = pr("对象编号")
            dr("对象名称") = pr("对象名称")
            dr("账户编号") = pr("账户编号")
            dr("账户名称") = pr("账户名称")
            dr("出账") = pr("出账")
            dr("审核") = pr("审核")
            If pr.DataTable.Name = "收入明细"
                dr("收入金额") = pr("交易金额")
                dr("支出金额") = Nothing
            ElseIf pr.DataTable.Name = "支出明细"
                dr("支出金额") = pr("交易金额")
                dr("收入金额") = Nothing
            End If
            DataTables("明细").ResumeRedraw
        Next
    Next
End If


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


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

具体什么问题,请详细说明,上传例子测试。

 回到顶部