'请教下老师,如何才能让AR中的Detail显示这样的效果:  
  
                                                 
业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈
'------------------------------------------------------------------------------------------------------------------------------
收货日期: 2008-09-22   序号:1      货品名称:电路板A     单位:块     领货数量:20
收货日期: 2008-09-25   序号:2      货品名称:电路板A     单位:块     领货数量:15
收货日期: 2008-09-29   序号:3      货品名称:电路板A     单位:块     领货数量:65
'------------------------------------------------------------------------------------------------------------------------------
目前是否该语句错了呢,为何在AR中却显示成这样子了:
'------------------------------------------------------------------------------------------------------------------------------
业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈
'================================================================
收货日期: 2008-09-22   序号:1      货品名称:电路板A     单位:块     领货数量:20
'------------------------------------------------------------------------------------------------------------------------------
业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈 
'================================================================
收货日期: 2008-09-25   序号:2      货品名称:电路板A     单位:块     领货数量:15
'------------------------------------------------------------------------------------------------------------------------------
业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈
'================================================================
收货日期: 2008-09-29   序号:3      货品名称:电路板A     单位:块     领货数量:65
'------------------------------------------------------------------------------------------------------------------------------SQL = "select 加工领货单.业务编号 as 业务编号,加工领货单.领货日期 as 领货日期,加工领货单.序号 as 序号," & _
"加工领货单.货品名称 as 货品名称,加工领货单.单位 as 单位,加工领货单.领货数量 as 领货数量," & _
"收货记录单.领取日期 as 领取日期,收货记录单.领取时间 as 领取时间,收货记录单.领取数量 as 领取数量 " & _
"from (加工领货单 left join 收货记录单 on 加工领货单.业务编号=收货记录单.业务编号 and 加工领货单.货品名称=收货记录单.货品名称) " & _
"where 加工领货单.业务编号='" & Form22.Label11.Caption & "'"'一个表是: "A表"    格式如下: 
ID  业务编号   领货日期      领货人  序号 货品名称   单位 领货数量
1   20080901  2008-09-01   小陈       1     电路板A     块      100
'-----------------------------------------------------------------------------------------------
2   20080901  2008-09-01   小陈       2     电路板B     块      200
'-----------------------------------------------------------------------------------------------
3   20080901  2008-09-01   小陈       3     电路板C     块      300
'-----------------------------------------------------------------------------------------------
4   20080930  2008-09-30   小王       1     电路板A     块      50
'-----------------------------------------------------------------------------------------------
5   20080930  2008-09-30   小王       2     电路板B     块      150
'-----------------------------------------------------------------------------------------------
6   20080930  2008-09-30   小王       3     电路板C     块      250
'--------------------------------------------------------------------------------------------------'另一个表是: "B表"    格式如下: 
ID  业务编号   收货日期      序号  货品名称   单位  领货数量
1   20080901  2008-09-22    1      电路板A     块      20
'-----------------------------------------------------------------------------------------------
2   20080901  2008-09-25    2      电路板A     块      15
'-----------------------------------------------------------------------------------------------
3   20080901  2008-09-29    3      电路板A     块      65
'-----------------------------------------------------------------------------------------------

解决方案 »

  1.   

    设计的时候,把
    业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈
    不要放在details中,根据你的需要放在group header或者page header或者report header中
      

  2.   

    业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈
    放在group header中
    收货日期: 2008-09-22   序号:1      货品名称:电路板A     单位:块     领货数量:20
    放在details中
      

  3.   


    如果放在group header或者page header或者report header中 的话,那么一下的就不能继续被读到了
    '-----------------------------------------------------------------------------------------------
    2   20080901  2008-09-01   小陈       2     电路板B     块      200
    '-----------------------------------------------------------------------------------------------
    3   20080901  2008-09-01   小陈       3     电路板C     块      300
      

  4.   

    需要用到分组:
    ·在 ActiveReport 设计器上,右键菜单“Insert -> Group Header/Footer”;
    ·然后在 GroupHeader1 属性中,设好 DataSource,并且将 DateField 设为 “业务编号”;
    ·将字段 [业务编号]、[领货日期]、[领货人] 放在 GroupHeader1 上;
    ·GroupFooter1 的高度设为 0。
      

  5.   

    感谢Tiger_Zhao兄台.俺来试试下!
      

  6.   

    请问下Tiger_Zhao兄台:俺按照你的方法做了,因为俺想把同样的业务编号也一块读进去.是否SQL语句需要修改到?但是现在就不能读到了
    '----------------------------------------------------------------------------------------------- 
    2  20080901  2008-09-01  小陈      2    电路板B    块      200 
    '----------------------------------------------------------------------------------------------- 
    3  20080901  2008-09-01  小陈      3    电路板C    块      300 
      

  7.   


    是这样的:让AR中的Detail显示这样的效果:  
      
    业务编号: 20080901     领货日期: 2008-09-01   领货人: 小陈 
    '------------------------------------------------------------------------------------------------------------------------------
     货品名称 :电路板A  领货数量:100
    '------------------------------------------------------------------------------------------------------------------------------'下面是每次收货的明细
    收货日期: 2008-09-22   序号:1      货品名称:电路板A     单位:块     领货数量:20
    收货日期: 2008-09-25   序号:2      货品名称:电路板A     单位:块     领货数量:15
    收货日期: 2008-09-29   序号:3      货品名称:电路板A     单位:块     领货数量:65
    '------------------------------------------------------------------------------------------------------------------------------
    货品名称 :电路板B  领货数量:200
    '------------------------------------------------------------------------------------------------------------------------------'如果没有收货的明细则显示这样了
    货品名称 :电路板C  领货数量:300
      

  8.   

    group header1………………
    业务编号: 20080901    领货日期: 2008-09-01  领货人: 小陈
     
        group header2………………
    货品名称 :电路板A  领货数量:100        details…………………………
    收货日期: 2008-09-22  序号:1      货品名称:电路板A    单位:块    领货数量:20 
    收货日期: 2008-09-25  序号:2      货品名称:电路板A    单位:块    领货数量:15 
    收货日期: 2008-09-29  序号:3      货品名称:电路板A    单位:块    领货数量:65 
      

  9.   

    那就是两级分组。在我 4楼的基础上再加一个分组:
    ·在 ActiveReport 设计器上,右键菜单“Insert -> Group Header/Footer”; 
    ·然后在 GroupHeader2 属性中,设好 DataSource,并且将 DateField 设为 “货品名称”; 
    ·将字段 [货品名称]、[领货数量] 放在 GroupHeader2 上; 
    ·GroupFooter2 的高度设为 0。
      

  10.   

    "然后在 GroupHeader2 属性中,设好 DataSource,并且将 DateField 设为 “货品名称”;"这个步骤能说详细点吗,里面的Field.text都是动态的...是否需要修改呢?
      

  11.   

    选中 GroupHeader2,F4,DataSource 选 DataControl1,DataField 直接输入“货品名称”(不包括引号)。
    够详细了吧。字段的显示靠绑定(也是 DataSource、DataField 两个属性)会自动填充,ActiveReport 的基本概念。
      

  12.   


    不好意思,
    那如果我用这样的话可以吗?Private Sub ActiveReport_FetchData(EOF As Boolean)
    '与记录集关联
    'If rs.EOF = True Then Exit Sub
    'EOF = False
    Static i     As Integer
    i = i + 1
    If rs.State = 1 Then
    If i > rs.RecordCount Then     'RS.EOF
    EOF = True
    Exit Sub
    Else
    EOF = False
    End IfFields("业务编号").Value = rs!业务编号
    Fields("领货日期").Value = rs!领货日期
    Fields("领货人").Value = rs!领货人
    Fields("序号").Value = rs!序号
    Fields("货品名称").Value = rs!货品名称
    Fields("单位").Value = rs!单位
    Fields("领货数量").Value = rs!领货数量
    Fields("收货日期").Value = rs!收货日期
    rs.MoveNext
    End If
    End Sub
      

  13.   

    为什么放在GroupHeader中的字段不能像Detail那样自动读下去呢现在问题还是那样子,不能够在同一个编号中分级显示.
      

  14.   

    非绑定模式可能需要给 GroupHeader1、GourpHeader2 赋 GroupValue 的值。
      

  15.   

    Tiger_Zhao兄台为何放在GroupHeader中的字段不能像Detail那样自动读下去呢 
      

  16.   

    Tiger_Zhao兄台:那么给 GroupHeader1、GourpHeader2 赋 GroupValue 的值.是怎么回事呢!能否给下代码!
      

  17.   

    问题解决了.原来是在ActiveReport_FetchData的事件中给 GroupHeader1、GourpHeader2 赋 GroupValue 的值.多谢Tiger_Zhao兄台的指点!!!再次感谢Tiger_Zhao兄台以及jhone99兄台的帮忙!!!