Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现跨表的表达式列


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

主题:[求助]如何实现跨表的表达式列

美女呀,离线,留言给我吧!
cherryjing
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/9/1 16:05:00 [只看该作者]

另外,还有一个问题,用”count(日期)“来计算总数,结果为0

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


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

正常项目就是专业的上一行

            Else'如果是专业分组行
                Dim f As String =  "专业 = '" & r("合同编号") & "' and 项目编号 = '" & t.Rows(i-1,True)("合同编号") & "'

Count(日期)为0说明没有符合条件的数据,或者日期列没有值。
Output.Show(i & "  " & r("合同编号"))显示什么内容?

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/9/1 16:27:00 [只看该作者]

修改后代码:
    Dim t As Table = Tables("合同表")
    t.GroupAboveData = True '分组行位于数据行之上
    t.TreeVisible = True '显示目录树
    Dim g As Subtotalgroup
    t.SubtotalGroups.Clear()
    g = New Subtotalgroup
    g.GroupOn = "专业"
    g.TotalOn = "合同额"
    t.SubtotalGroups.Add(g)
    g = New Subtotalgroup
    g.GroupOn = "项目编号"
    g.TotalOn = "合同额"
    g.Caption = "{0}"
    t.SubtotalGroups.Add(g)
    t.Subtotal()

    Dim r As Row
    For i As Integer = 0 To t.Rows.Count(True) - 1
        r = t.Rows(i, True)
        If r.IsGroup Then
            Output.Show(i & "  " & r("合同编号"))
            If r("合同编号") Like "####*" Then'如果是项目分组行
                Dim f As String = "项目编号 = '" & r("合同编号") & "'" 
                Dim pro As String = DataTables("项目表").Find(f)("项目简称")
                Dim v As String = pro & "   合同数量:" & t.Compute("Count(合同名称)", f)
                v = v & " 合同金额:" & t.Compute("Sum(合同额)", f)
                r("合同编号") = v
            Else'如果是专业分组行
                Dim f As String = "专业 = '" & r("合同编号") & "'" 
                Dim v As String = "合同数量:" & t.Compute("Count(合同名称)", f)
                v = v & " 合同金额:" & t.Compute("Sum(合同额)", f)
                r("合同编号") = r("合同编号") & ": " & v
            End If
        End If
    Next 
运行结果如图所示,有两个问题:
1、在项目合计行,合同金额出了两次,分别在第一列和合同额列,而专业合计行,合同额只出现了一次,在合同额列;
2、专业合计行中,合同数量统计为0

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

[此贴子已经被作者于2022/9/1 16:29:38编辑过]

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


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

做些虚拟的测试数据,使用下面代码汇总后,截图整个表的数据发上来看看。最好是做个例子发上来,不要浪费那么多时间来回扯

   Dim t As Table = Tables("合同表")
    t.GroupAboveData = True '分组行位于数据行之上
    t.TreeVisible = True '显示目录树
    Dim g As Subtotalgroup
    t.SubtotalGroups.Clear()
    g = New Subtotalgroup
    g.GroupOn = "专业"
    g.TotalOn = "合同额"
    t.SubtotalGroups.Add(g)
    g = New Subtotalgroup
    g.GroupOn = "项目编号"
    g.TotalOn = "合同额"
    g.Caption = "{0}"
    t.SubtotalGroups.Add(g)
    t.Subtotal()

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
[求助]汇总模式  发帖心情 Post By:2022/9/1 19:13:00 [只看该作者]


此主题相关图片如下:demo.png
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目1.zip

双击合同表后,切换到表A,点左侧下部汇总,得如图所示,可以看到:
1、在项目合计行,合同金额出了两次,分别在第一列和合同额列,而专业合计行,合同额只出现了一次,在合同额列;
2、专业合计行中,合同数量统计为0

[此贴子已经被作者于2022/9/1 19:22:48编辑过]

 回到顶部
美女呀,离线,留言给我吧!
cherryjing
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:1127 威望:0 精华:0 注册:2014/5/20 12:22:00
  发帖心情 Post By:2022/9/1 19:15:00 [只看该作者]

如图所示

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


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

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


 回到顶部
总数 17 上一页 1 2