大哥,我正好编写这么一个程序,打印做好了。不过查询语句有问题,你如果看看我的问题,并帮我解决这一部分的问题的话,小弟把源程序给你发过来(不是你不发给你而我的源程在WINDOWSG下运行不正常)。我的问题在是“?一个问题,请各位大侠指教(谢谢)(emailofxuxu)”

解决方案 »

  1.   

    把你的源程序发过来我帮你看看,我的email在上面
      

  2.   

    dim conn as new adodb.connection
    dim rs as new adodb.recordset
    dim connstr as string
    dim ssql as string
    connstr="provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\库名.mdb"
    conn.open connstrssql="select * from 表名"
    rs.cursorlocation=aduseclient
    rs.open ssql,conn,adopendynamic,adlockpemissic
    set datareport1.datasource=rsok!
      

  3.   

    我按照你上面说的作了,可是执行到rs.open 这句,显示错误“实时错误3001”“说应用程序使用的参数或类型不正确”这是怎么回事
    并且我把原来datareport中的datasource设为空,报表中的各显示字段控件的datamember也设为空,但他们的datafield值还为原来要显示的数据字段
    望大侠能帮我想想这是怎么回事?
      

  4.   

    这个问题,竟然没有一个正确的回复,看来VB作报表确实是比不上Delphi作报表实现程序控制
    动态查询,打印查询结果,VB着一点太差了
      

  5.   

    'me 是datareport
        Set me.DataSource = rstReport
    Me.Sections("section4").Controls("txtlid").datafield = strID
    Me.Sections("section4").Controls("lblclient").Caption = rstClient.Fields("公司名称")可以加分了吗?~_~
      

  6.   

    to wxl:
    这个问题你都问无数遍了,DataReport 正确使用技巧有很多,misterzhao 的回答确实是正确的,我补充一下,应写在 Datareport 的 initialize 事件Set me.DataSource = rstReport
    Me.Sections("section4").Controls("txtlid").datafield = rstClient.Fields("公司名称").name
    Me.Sections("section4").Controls("lblclient").Caption = rstClient.Fields("公司名称").name
      

  7.   

    说说你怎么搞定的吧?
    rstReport是不是一个查询好的ADODB的记录集?
      

  8.   

        有一个非常简单的方法:使用ADODC控件作为报表的DataSource,这样:
    SQL="select ……"
    adodc1.recordsource=sql
    adodc1.refresh
    set datareport1.datasource=adodc1
    datareport1.show
      

  9.   

    用listview做不是更简单吗?
    先create 一个adodb.connection然后用listview