Foxtable(狐表)用户栏目专家坐堂 → 关于多个联接列


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

主题:关于多个联接列

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/13 23:24:00 [显示全部帖子]

上传项目

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 11:21:00 [显示全部帖子]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("费用明细附表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期",DateGroupEnum.None)
bd1.Groups.AddDef("部门")
bd1.Groups.AddDef("成本类别")
bd1.Totals.AddDef("费用_本月")
bd1.Totals.AddDef("费用_累计")
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("利润表附表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("日期",DateGroupEnum.None)
bd2.Groups.AddDef("部门")
bd2.Totals.AddDef("主营业务收入_本月")
bd2.Totals.AddDef("主营业务收入_累计")
dt2 = bd2.BuildDataSource()


Dim nms As String() = {"日期","部门"}
dt1.Combine(nms,dt2,nms)
dt1.Show("统计表1") '显示统计结果

Dim t As Table = Tables("统计表1")
Dim n1,n2 As Double
For Each r As Row In t.Rows
    If r.IsNull("主营业务收入_本月") = False Then
        n1 = r("主营业务收入_本月")
        n2 = r("主营业务收入_累计")
    Else
        r("主营业务收入_本月") = n1
        r("主营业务收入_累计") = n2
    End If
Next
t.DataTable.DataCols.Add("费用率_本月",Gettype(Double), "iif([主营业务收入_本月] = 0, null, IsNull([费用_本月],0) / [主营业务收入_本月])")
t.DataTable.DataCols.Add("费用率_累计",Gettype(Double), "iif([主营业务收入_累计] = 0, null, IsNull([费用_累计],0) / [主营业务收入_累计])")

t.DataTable.DataCols("费用率_本月").SetFormat("0.00%")
t.DataTable.DataCols("费用率_累计").SetFormat("0.00%")


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 14:21:00 [显示全部帖子]

篡改一下汇总行的值即可。

 

http://www.foxtable.com/help/topics/1911.htm

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/14 16:05:00 [显示全部帖子]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("费用明细附表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期",DateGroupEnum.None)
bd1.Groups.AddDef("部门")
bd1.Groups.AddDef("成本类别")
bd1.Totals.AddDef("费用_本月")
bd1.Totals.AddDef("费用_累计")
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("利润表附表"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("日期",DateGroupEnum.None)
bd2.Groups.AddDef("部门")
bd2.Totals.AddDef("主营业务收入_本月")
bd2.Totals.AddDef("主营业务收入_累计")
dt2 = bd2.BuildDataSource()


Dim nms As String() = {"日期","部门"}
dt1.Combine(nms,dt2,nms)
dt1.Show("统计表1") '显示统计结果

Dim t As Table = Tables("统计表1")
t.DataTable.DataCols.Add("费用率_本月",Gettype(Double))
t.DataTable.DataCols.Add("费用率_累计",Gettype(Double))

Dim n1,n2 As Double
For Each r As Row In t.Rows
    If r.IsNull("主营业务收入_本月") = False Then
        n1 = r("主营业务收入_本月")
        n2 = r("主营业务收入_累计")
    End If
    r("费用率_本月") = r("费用_本月") / n1
    r("费用率_累计") = r("费用_累计") / n2
Next


t.DataTable.DataCols("费用率_本月").SetFormat("0.00%")
t.DataTable.DataCols("费用率_累计").SetFormat("0.00%")


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 18:38:00 [显示全部帖子]

说明你表里面就是没有叫做 所属日期 的列。

 

不会做,上传例子。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/24 23:39:00 [显示全部帖子]

Dim Filter As String = "1=1" '设置筛选条件
With e.Form.Controls("DW")
    If .Value IsNot Nothing Then
        Filter &= " and 所属单位 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("NF") '在前一筛选条件控制下设置第二项筛选条件,其内容根据第一列的变化而变化
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Dim d As Date = new Date(.value, 1, 1)
        Filter = Filter & "所属日期 >= #" & d & "# and 所属日期 < #" & d.AddYears(1) & "#"
    End If
End With

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/25 14:12:00 [显示全部帖子]

交叉统计表不能这样用。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/25 14:13:00 [显示全部帖子]

 如果要做,只能用代码处理

 

http://www.foxtable.com/help/topics/2394.htm


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/27 12:53:00 [显示全部帖子]


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/27 13:48:00 [显示全部帖子]

Dim y As Integer = e.Form.Controls("Textbox1").Text
Dim m As Integer = e.Form.Controls("Textbox2").Text

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