原表(test):
NAME BM BREADTH QTY HGH PCS
--------------------------------------------------
前 HALTI 43 20 32.19 0.00311
中 HALTI 43 17 28.69 0.0349
后 HALTI 43 16 25.31 0.0396
前 HALTI 47 21 33.78 0.0296
中 HALTI 47 18 30.3 0.033
后 HALTI 47 18 28.41 0.0352
前 HALTI 57 26 41.85 0.0239
中 HALTI 57 23 38.91 0.0257
后 HALTI 57 22 34.8 0.0287
前 6606S1 43 20 32.19 0.00311
中 6606S1 43 17 28.69 0.0349
后 6606S1 43 16 25.31 0.0396
前 6606S1 47 21 33.78 0.0296
中 6606S1 47 18 30.3 0.033
后 6606S1 47 18 28.41 0.0352
前 6606S1 57 26 41.85 0.0239
中 6606S1 57 23 38.91 0.0257
后 6606S1 57 22 34.8 0.0287
左 6606S1 57 22 34.8 0.0287
右 6606S1 57 22 34.8 0.0287报表(用ReportBuilder):
             |     BREADTH(43) |     BREADTH(47)    |      BREADTH(57)
NAME BM   |--------------------------------------------------------------------------
     | QTY HGH PCS   QTY HGH PCS QTY HGH PCS
----------------------------------------------------------------------------------------
前 HALTI 20 32.19 0.00311  21 33.78 0.0296 26 41.85 0.0239
中 HALTI 17 28.69 0.0349   18 30.3 0.033 23 38.91 0.0257
后 HALTI 16 25.31 0.0396   18 28.41 0.0352 22 34.8 0.0287
前 6606S1 20 32.19 0.0349   21 33.78 0.033 26 41.85 0.0239
中 6606S1 17 28.69 0.0396   18 30.3 0.0352 23 38.91 0.0257
后 6606S1 16 25.31 0.0296   18 28.41 0.0239 22 34.8 0.0287
左 6606S1 NULL NULL NULL  NULL NULL NULL 22 34.8 0.0287
右 6606S1 NULL NULL NULL  NULL NULL NULL 22 34.8 0.0287

解决方案 »

  1.   

    这里显示乱了,图片显示这里:
    http://www.51ww.com/bbs/#dispbbs.asp?boardid=14&id=89527谁来教我一下,或有这样的例子
      

  2.   

    这种报表不能按照常规的做法做的,只能够用QUICKREP的BEFORPRINT、NEEDDATA等动作来完成。有时候还要配合 DETAIL 栏的 BEFOREPRINT 属性来读取和填写数据。所有要统计的数据都在这里完成,然后填写到 QRLABEL 控件中才可以。
      

  3.   

    gegangqiao(为什么我的三层结构只能在局域网内用?) 谢谢你来帮我,你有这方面的资料或例子吗?
      

  4.   

    你可以在数据库中将原表转换成跟报表结构一样的视图:
    Create View test_v1(将BREADTH 为43的数据都选出来)
    Create View test_v2(将BREADTH 为47的数据都选出来)
    Create View test_v3(将BREADTH 为57的数据都选出来)
    Create View test_v
    Select distinct test.NAME,test.BM,test_v1.QTY,test_v1.HGH,test_v1.PCS,
           test_v2...
           test_v3...
    from test
    left join test_v1 on test_v1.NAME=test.NAME and test_v1.BM=test.BM
    left join test_v2 on test_v2.NAME=test.NAME and test_v2.BM=test.BM
    left join test_v3 on test_v3.NAME=test.NAME and test_v3.BM=test.BM在BREADTH种类比较少的情况下,这种方法是可以的,如果比较多的话就不太适用了
      

  5.   

    caac9999(老土),你的方法我有试过,但我的SQL要写到程序中的这样不太方便,可不可以让ReportBuilder来帮我们一下呢?
    ReportBuilder有这些功能吗?
    谢谢您的回答!