Foxtable(狐表)用户栏目专家坐堂 → 一个报表显示两个及以上表的数据


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

主题:一个报表显示两个及以上表的数据

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
一个报表显示两个及以上表的数据  发帖心情 Post By:2015/11/22 18:21:00 [只看该作者]

在例子中有一个客户销售表及一个客户费用表,打算制作一个专业报表,按客户名称及销售收入、销售费用的列表项目逐户逐项显示,不用表格而是文字叙述,比如 客户A,(1)销售收入20000元,(2)销售成本12000元、销售费用3500元、销售折扣1000元;
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目3.foxdb


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/11/22 19:02:00 [只看该作者]

应该首先建立关联吧。报表只属于某一张表,所以要显示多个表,应该要关联起来,我想。

 

 

期待大神的解答


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/11/22 19:55:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

 

是这个效果吗?


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/22 20:42:00 [只看该作者]

是这个效果

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 20:46:00 [只看该作者]

Dim doc As New PrintDoc '定义一个报表
For Each kh As String In DataTables("客户销售表").GetValues("客户名称")
    Dim rt As New prt.RenderText '定义一个文本对象
    Dim sum1 As Double = DataTables("客户销售表").Compute("sum(销售收入)", "客户名称 = '"& kh & "'")
    Dim sum2 As Double = DataTables("客户费用表").Compute("sum(销售成本)", "客户名称 = '"& kh & "'")
    Dim sum3 As Double = DataTables("客户费用表").Compute("sum(销售费用)", "客户名称 = '"& kh & "'")
    Dim sum4 As Double = DataTables("客户费用表").Compute("sum(销售折扣)", "客户名称 = '"& kh & "'")
    rt.Text = sum1 & " " & sum2 & " " & sum3 & " " & sum4
    doc.Body.Children.Add(rt) '将文本对象加入到报表
Next
doc.Preview() '预览

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/22 20:47:00 [只看该作者]

但是不想用关联,除了这两张表外,可能还需要更多表中的数据添加到这一个报表中


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 20:57:00 [只看该作者]

参考5楼,写代码。

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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/22 21:53:00 [只看该作者]

上述结果不是我想要的结果,我编写以下一段代码,想实现 序号、客户名称、销售金额等用文字形式,叙述每一个客户的情况,但是为什么只能显示最后一行的呢

'''
Dim doc As New PrintDoc '定义一个新报表
Dim rt As New prt.RenderText '定义一个新表格
Dim tb As Table = Tables("财务报告")
rt.Style.Font = tb.Font
rt.Style.TextIndent = 12 '首行缩进12毫米
rt.Style.LineSpacing = 200 '设置双倍行距
rt.Style.Font = New Font("宋体", 14) '设置字体
For r As Integer = 0 To tb.Rows.Count -1 '开始填入该列内容
    rt.Text =  tb(r,0) & "、" & tb(r,1) & "销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元,销售折扣" & tb(r,5) & "元,销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元。"
Next
doc.Body.Children.Add(rt) '将表格加入到报表
doc.Preview()


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/22 21:56:00 [只看该作者]

汗,放进循环

 

Dim doc As New PrintDoc '定义一个新报表
For r As Integer = 0 To tb.Rows.Count -1 '开始填入该列内容
    Dim rt As New prt.RenderText '定义一个新表格
    Dim tb As Table = Tables("财务报告")
    rt.Style.Font = tb.Font
    rt.Style.TextIndent = 12 '首行缩进12毫米
    rt.Style.LineSpacing = 200 '设置双倍行距
    rt.Style.Font = New Font("宋体", 14) '设置字体
   
    rt.Text =  tb(r,0) & "?" & tb(r,1) & "销售金额" & tb(r,2) & "元,销售成本" & tb(r,3) & "元,销售费用" & tb(r,4) & "元,销售折扣" & tb(r,5) & "元,销售税金" & tb(r,6) & "元,其他支出" & tb(r,7) &  "元."
   
    doc.Body.Children.Add(rt) '将表格加入到报表
Next
doc.Preview()


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


加好友 发短信
等级:九尾狐 帖子:2236 积分:15335 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/11/22 22:02:00 [只看该作者]

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


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