Foxtable(狐表)用户栏目专家坐堂 → 报表问题,请老师指导...(已经自行解决,另多谢don大哥提供另一思路)


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

主题:报表问题,请老师指导...(已经自行解决,另多谢don大哥提供另一思路)

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
报表问题,请老师指导...(已经自行解决,另多谢don大哥提供另一思路)  发帖心情 Post By:2009/5/12 20:04:00 [显示全部帖子]

放个项目文件上来,看看哪位老师能解决?类别为其他的项目不要求明细怎么办?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表问题.table

图片点击可在新窗口打开查看也许是我钻牛角尖里了...俺还是换个说法...

其实我是要输出报表...因为种种原因,某些项目不要求明细,只要求总金额.....

比如下图:PD05的明细不要求输出,只要该项目的总数....其余照旧,我该怎么办?


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


====================分割线==================================
原语句如下:

select 项目,规格,类别,单价,数量,round(单价*用量,2) AS 金额 from [表A]

假如类别种类固定为abcde五种

表A
  项目   规格   类别     单价   数量  
   dd    1    a    0.1   100 
   aa    2    a    0.5    200
   bb   3    b    0.6    100
   ee    4    c    0.5    50
   tt    5    d    1.0    40
   yy    6    e    3.0    30

如何把类别为a的所有行进行金额合计,项目名称设为@,规格单价数量为空,而保持其他类别不变?生成类似如下的表?

SQL语句应该怎么写?

  项目    规格    类别  单价    数量    金额   
   @        a            110
   bb    3    b  0.6    100    60  
   ee    4    c    0.5    50    25
   tt    5    d    1.0    40 40   
   yy    6   e     3.0  30      90
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表问题.table

[此贴子已经被作者于2009-5-13 17:30:49编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/13 9:53:00 [显示全部帖子]

图片点击可在新窗口打开查看也许是我钻牛角尖里了...俺还是换个说法...

其实我是要输出报表...因为种种原因,某些项目不要求明细,只要求总金额.....

比如下图:PD05的明细不要求输出,只要该项目的总数....其余照旧,我该怎么办?


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

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/13 15:22:00 [显示全部帖子]

没人能解决吗?

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/5/13 17:29:00 [显示全部帖子]

用个折中的办法解决了...
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:报表问题.table

Dim doc As New PrintDoc

Dim rt As Prt.RenderTable
Dim tbl As Table = Tables("清单")
Dim Rows As List(Of DataRow)
Dim Regions As List(Of String) = tbl.DataTable.GetUniqueValues("类别 <> '其他'","类别")
doc.Pagesetting.LandScape = false
For Each Region As String In Regions
    Dim rs As New prt.RenderText
    rs.Text = "费用类别:   " & Region
    rs.Style.FontSize = 10
    rs.Style.FontBold = True
    doc.Body.Children.Add(rs)
    rt = New prt.RenderTable
    rt.Style.TextAlignVert = prt.AlignVertEnum.Center
    rt.Style.GridLines.Top = New prt.LineDef(0.4,Color.Black)
    rt.Style.Spacing.Bottom = 5
    rt.CellStyle.Spacing.All = 1
    rt.Style.Font = tbl.Font
    rt.Cols(0).Width = 40
    rt.Cols(1).Width = 30
    rt.Cols(2).Width = 0
    Rows = tbl.Datatable.Select("[类别] = '" & Region & "'")
    For c As integer = 0 To tbl.Cols.Count - 1
        rt.Cells(0,c).Text = tbl.Cols(c).Name
        For r As integer = 0 To Rows.Count -1
            rt.Cells(r + 1, c).Text = rows(r)(tbl.Cols(c).Name)
        Next
    Next
   
    rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All
    rt.Style.Gridlines.Horz = New prt.Linedef(0.3,Color.LightGray)
    doc.Body.Children.Add(rt)
Next


Dim Total As Double
Total = tbl.Datatable.Compute("Sum(金额)", "类别 = '其他'")
Dim rts As New prt.RenderText
rts.Text = "费用类别:    其他"
rts.Style.FontSize = 10
rts.Style.FontBold = True
doc.Body.Children.Add(rts)

rt = New prt.RenderTable
rt.Style.TextAlignVert = prt.AlignVertEnum.Center
rt.Style.GridLines.Top = New prt.LineDef(0.4,Color.Black)
rt.Style.Spacing.Bottom = 5
rt.CellStyle.Spacing.All = 1
rt.Style.Font = tbl.Font
rt.Cells(0,0).Text = "项目"
rt.Cells(0,6).Text = "金额"
rt.Cells(1,0).Text = "一次性医用消耗材料"
rt.Cells(1,6).Text = Total
rt.RowGroups(0,1).Header = prt.TableHeaderEnum.All
rt.Style.Gridlines.Horz = New prt.Linedef(0.3,Color.LightGray)
doc.Body.Children.Add(rt)

doc.preview()

[此贴子已经被作者于2009-5-13 17:32:13编辑过]

 回到顶部