如何动态打印报表?

解决方案 »

  1.   

    你的動態是什么意思﹖是數據動態還是表格的格式動態﹖如果是數據動態那你連接數據源動態就可以了﹐也就是根據不同選擇不同的sql語句﹐但字段個數要一樣多﹐數據類型也一致。
    動態打印表的格式要不行﹐這樣要設計多張報表
      

  2.   

    就是用带变量的sql语句查询得到数据结果,比如,有一个文本框,当用户输入某个月时,查询得到这个月的数据。
    在哪里设置这样的sql语句呢?
      

  3.   

    在程序界面输入查询条件,程序查询后有一个记录集,将记录集里的数据打印,可打印的方法很多,打报表我通常用excel。^_^
      

  4.   

    给你一个打印控件试试,Email?
      

  5.   

    运行VB,选择“工程_引用”命令,引用 Microsoft ActiveX Data Objects 2.5 Library .直接添加DataReport,在上面布置好相应的控件,可以在Form中添加代码: Dim cn As ADODB.Connection
    Dim rs As ADODB.RecordsetPrivate Sub cmdPrint_Click()    Dim StrConnect As String
        Dim Sql As String'连接数据库
        Set cn = New ADODB.Connection
        StrConnect = "连接数据库字符串"
        cn. Open StrConnect'设置text控件属性
      DataReport1.Sections("Section1").Controls("text1").DataField = "SalesNo"
      DataReport1.Sections("Section1").Controls("text2").DataField = "Vendor"
      DataReport1.Sections("Section1").Controls("text3").DataField = "Product"'打开记录集
      Set rs = New As ADODB.Recordset
      Sql ="select * from tb where iDate='"& Text1.text &"'"
        rs.Open Sql, cn, adOpenKeyset, adLockOptimistic    Set DataReport1.DataSource = rs    DataReport1.Show 1
    End Sub
      

  6.   

    上面: 
      DataReport1.Sections("Section1").Controls("text1").DataField = "SalesNo"
      DataReport1.Sections("Section1").Controls("text2").DataField = "Vendor"
      DataReport1.Sections("Section1").Controls("text3").DataField = "Product"SalesNo等等是你表中的字段名称