数据库原始表是这样的,
joinbilldocument_id,appellation,spec,model,th,amount,opdt2
Rk8100024 橙色纸 860 48.8 81011194 506.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011201 495.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011211 561.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011221 512.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011231 517.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011241 524.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011251 514.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011261 581.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011271 531.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011281 538.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011291 526.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011301 533.0000 2008-10-05 
Rk8100024 橙色纸 860 48.8 81011311 606.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011321 553.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011331 559.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011341 516.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011351 507.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011361 575.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011371 524.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011381 528.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011391 516.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011401 511.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011411 580.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011421 529.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011431 535.0000 2008-10-05 
Rk8100024 橙色纸 781 48.8 81011441 466.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81011961 568.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81011971 518.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81011981 517.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81011991 525.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012001 514.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012011 582.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012021 533.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012031 532.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012044 514.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012051 504.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012061 571.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012071 521.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012081 520.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012091 518.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012101 501.0000 2008-10-05 
Rk8100024 新闻纸 860 48.8 81012111 568.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012121 521.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012131 525.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012141 510.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012151 502.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012161 568.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012171 518.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012181 514.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012191 521.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012201 512.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012211 580.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012221 529.0000 2008-10-05 
Rk8100024 新闻纸 781 48.8 81012231 527.0000 2008-10-05 
我需要做成报表对通过joinbilldocument_id的值选出数据。以上就是joinbilldocument_id='Rk8100024'的数据。做成的报表形式如下:
因为数据中分新闻纸,橙色纸。所以需要新闻纸和橙色分开打印,需要注意的是数据要分10行4列显示。一个规格结束换列
因为有新闻纸和橙色纸 第一份如下:
------------------------------------------------
货物名称:新闻纸     规格:860*48.8 781*48.8
1 81011961 81012061 81012121 81012221
2 81011971 81012071 81012131 81012231
3 81011981 81012081 81012141
4 81011991 81012091 81012151
5 81012001 81012101 81012161
6 81012011 81012111 81012171
7 81012021         81012181
8 81012031         81012191
9 81012044         81012201
10 81012051         81012211
第二份如下:
---------------------------------------------------------------------------------------------------
货物名称:橙色纸     规格:860*48.8 781*48.8
1 81011141 81011241 81011321 81011421
2 81011151 81011251 81011331 81011431
3 81011161 81011261 81011341 81011441
4 81011171 81011271 81011351
5 81011181 81011281 81011361
6 81011194 81011291 81011371
7 81011201 81011301 81011381
8 81011211 81011311 81011391
9 81011221         81011401
10 81011231         81011411

解决方案 »

  1.   

    这些在报表里处理吧..在SQL里太牵强了~~
      

  2.   

    我现在能做到的是 是打出所有的。货物名称:新闻纸 橙色纸     规格:860*48.8 781*48.8 
    1 XXX
    2 XXX
    3 XXX
    4 XXX
    5 XXX如果要做成两种纸分开打到两张纸上面。我需要用户 打两次,一次选择新闻纸,一次选择橙色纸。
    现在最关键的地方是货物名称那里怎么解决。因为货物名称是报表的数据源中的一个字段。怎么让他在一页显示新闻纸,另一页显示橙色纸。
      

  3.   


    我的存储过程是这样的,可是上面说 @appellation varchar(50),--货物名称 不需要就可以解决。CREATE PROCEDURE [dbo].[P_JoinOutBillPrint]  
            @billdocument_id varchar(50),--入出库的单号
            @billdocument_type int,--单据类型 2代表入库 3代表出库(发货)
            @operateid varchar(50),--操作员的名字
            @appellation varchar(50),--货物名称
            @msg varchar(40) output
    AS