我做了一个程序,希望需要先通过输入查询条件,再按照查询结果将其用datareport打印出来.我不知如何实现,请各位高手指点.(请说的详细一点).多谢

解决方案 »

  1.   

    偶不用它,偶隻用Crystal Reports
      

  2.   

    比如你在Form1窗体的Text1中输入ID号来打印相应的报表。那么添加一个DataReport,在细节中用RptTextBox按自己的打印要求布局。将其DataField属性对应相应的字段,注意不要设置DataMember,双击DataReport,添加代码如下:
    Private Sub DataReport_Initialize()
        Dim cn As ADODB.Connection
        Dim rs As ADODB.Recordset
        Dim Sql As String
        '连接数据库(假设为ACCESS)
        Set cn = New ADODB.Connection
        With cn
            .Provider = "MSDataShape.1" '一定要加这句
            .Open "Provider=Microsoft.Jet.OLEDB.4.0; " _
            & "Data Source=" & App.Path & "\dbName.mdb;Persist " _
            & "Security Info=False;Jet OLEDB:Database Password=123"
        End With
        '组合查询语句:
        Sql = "SELECT * FROM `TableName` " & _
            "where ID ='" & Form1.Text1.text & "'"
        '打开查询记录集
        rs.Open Sql, cn, adOpenStatic, adLockReadOnly
        Set Me.DataSource = rs
    End Sub注意,Sql = "SELECT * FROM `TableName` " & _
            "where ID ='" & Form1.Text1.text & "'"
    一句中,`TableName`不是用单引号括起来的,而是用Tab键上方哪个有~号键上的`号
      

  3.   

    同意楼上的看法,将你的datareport的datasource设置成ado或者是你的其他的数据员
      

  4.   

    不错,是可以的,但是我经常用绑定的方法,用存储过程的方法.
    //
    提醒楼主一点,DATAREPORT打包安装很麻烦的,经常运行不起来
      

  5.   

    将你的datareport的datasource设置成ado或者是你的其他的数据员