rptkan是一个datareport控件, 分页可以了,但datafield的字段是绑定的,我要修改了才能用,怎么取出datafield里具体的值呢?
   .Sections("Section1").Controls("text2").DataMember = "mGroup"
        .Sections("Section1").Controls("text2").DataField = "dwgr"
这样会每页显示一条记录,可是datareport只有text可以绑定datamember,
但section1上面还有个image1,image1加载的地址就是.Sections("Section1").Controls("text2").DataField = "dwgr"的值,怎么取出值来呢?Set cn = New ADODB.Connection
    cn.CursorLocation = adUseClient
    cn.Provider = "MSDataShape"     
    cn.Open "Data Provider=Microsoft.Jet.OLEDB.4.0; " _
        & "Data Source='D:\广西林改系统\ZD.mdb';Persist " _
        & "Security Info=False;"
        
     '用SHAPE命令返回分组父子记录集
    Sql = "select * from zd where dwgr ='" + nameinmod + "' ORDER BY sfzh, zzwyh"
    Sql = "SHAPE {" & Sql & " } " & _
        "AS mGroup COMPUTE " & _
        "mGroup BY zzwyh "
    Set rs = cn.Execute(Sql)
    Set rptkan.DataSource = rsWith rptkan
        .Sections("section6").ForcePageBreak = 1
        .Sections("Section1").Controls("text2").DataMember = "mGroup"
        .Sections("Section1").Controls("text2").DataField = "dwgr"
End With

解决方案 »

  1.   

    取出来没用,是这样的,data report里通过compute分页,一条记录一页,然后细节里有两个值,一个是text2,还一个是image1,text2绑定datamember ,image1的图片地址就是text2的值,他在每页都是不同的,所以只能取出data report 里text2的值,而不能直接去数据源里取(数据源取的值,在分页里不会变化)。
    With rptkan
        .Sections("Section1").Controls("text2").DataMember = "mGroup"
        .Sections("Section1").Controls("text2").DataField = "dwgr"
    End With
      

  2.   

    要用 LoadPicture 加载图片
    Private Sub DataReport_AsyncProgress(ByVal JobType As MSDataReportLib.AsyncTypeConstants, _
                                         ByVal Cookie As Long, ByVal PageCompleted As Long, _
                                         ByVal TotalPages As Long)
        Set Sections("Section1").Controls("Image1").Picture = _
            LoadPicture(Sections("Section1").Controls("Text2").Text)
    End Sub
      

  3.   

    而且的话,在datareport在的rpttextbox也没有text属性啊,在DataReport_Initialize()事件里,出现对象不支持该属性或方法
      

  4.   

    改用从作为数据源的 RecordSet 中取图片路径吧。
      

  5.   

    这样的话,源里取的记录不会跟着细节里的记录一起循环直接用循环从源里取我试过了,因为打的记录一次一次在300张左右,不稳定,地出8502 general error
    据说是datareport的bug
      

  6.   

    换报表吧,比如 ActiveReport。