以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  一个报表显示两个及以上表的数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77630)

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


--  作者:liuxianjie1980
--  发布时间:2015/11/22 19:02:00
--  

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

 

 

期待大神的解答


--  作者:liuxianjie1980
--  发布时间:2015/11/22 19:55:00
--  


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

 

是这个效果吗?


--  作者:kaituozhe
--  发布时间:2015/11/22 20:42:00
--  
是这个效果
--  作者:大红袍
--  发布时间: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
--  发布时间:2015/11/22 20:47:00
--  

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


--  作者:大红袍
--  发布时间:2015/11/22 20:57:00
--  
参考5楼,写代码。
--  作者:kaituozhe
--  发布时间: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()


--  作者:大红袍
--  发布时间: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
--  发布时间:2015/11/22 22:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.foxdb