我最近要写一个程序,mssql的db数据库有3个表,我想打印的时候显示的字段包括3个表中的内容,我该怎么用vb实现,
环境是用vb直接连接mssql,没有经过odbc,如果不用DataReport设计器,怎么做vb连sql的模块如下:
Dim rdoRS As ADODB.Recordset
'连接数锯库
Dim rdoConn As New Connection
 With rdoConn
 .Provider = "SQLOLEDB"
 .ConnectionString = "User ID=sa;PWD=;Data Source=(local);" & "Initial Catalog=db"
 .Open
 End With
 
 '连接记录
 Set rdoRS = New Recordset
 With rdoRS
  .Open Trim$(CurrentTable), rdoConn, adOpenDynamic, adLockOptimistic Set conn_sqlserver = rdoRS
End With要求打印前有打印预览!(必须)

解决方案 »

  1.   

    第一:用别人的控件.第二:自己写一个控件.第三还是用DATAREPORT
      

  2.   

    第二:自己写一个控件.第三还是用DATAREPORT
    都可以,写具体的我再给50分
      

  3.   

    用DB report 控件吧可以打印ADO记录集很好用,网上找得到动态记录集只要三行就可以了
     tdbreport1.RecordSource ="select * form tablename where fild='"+ 筛选参数+"'"
    tdbreport1.refresh
    tdbreport1.printview
    就可以了很快捷的
      

  4.   

    用DB report 控件吧可以打印ADO记录集很好用,网上找得到动态记录集只要三行就可以了
     tdbreport1.RecordSource ="select * form tablename where fild='"+ 筛选参数+"'"
    tdbreport1.refresh
    tdbreport1.printview
    就可以了很快捷的
    可以多表吗?谢谢,发我信箱我的是[email protected] 最好都代码,我看看,一定加分
    tdbreport1的参数怎么控制,
      

  5.   

    你为什么不用存储过程。通用存储过程把数据写到一个表,然后把记录集赋给DATAREPORT.
    财务报表都可以做,还有什么报表比财务报表难做。
      

  6.   

    你的E-MAIL是不是有问题发不过去,自已去http://www.grapecity.com/china/tools/tools_download_trial_language.htm下载吧
      

  7.   

    你为什么不用存储过程。通用存储过程把数据写到一个表,然后把记录集赋给DATAREPORT.
    财务报表都可以做,还有什么报表比财务报表难做。
    给我一个具体的代码,谢谢了
    zycxs(丝鱼) 我要写论文,所以要代码,控件,最好不用,谢谢了,小弟谢谢你们了,给分一定给多分
      

  8.   

    为什么一定要代码呢编程不是就想方便嘛别人有好的控件是可以借鉴的嘛
    我试过了,如果是用APEX true dbreport 在写SQL时可以这样写 select * from 表1, 表2 ,表3 
    然后在页面设置时可以设条件:表1.字段1=表2.字段1     是比较好用
      

  9.   

    引入水晶报表4.6,我将例子中MSFlexGrid1的内容导到水晶报表中,打印预览可以自动实现,也可以直接驱动打印机Dim Pubmdb As New ADODB.Connection    '
      Dim StrSql As String
      Dim str_mdb As String
      Dim PUBRS As New ADODB.Recordset
      Dim i, j As Integer
        CrystalReport1.ReportFileName = App.Path & "\bb.rpt"
        str_mdb = "Driver={Microsoft Access Driver (*.mdb)};Uid=;Pwd=;Dbq= " & App.Path & "\Report.mdb"
        Pubmdb.Open str_mdb
        Pubmdb.Execute "delete * from Report"
        StrSql = "select * from Report"
        PUBRS.Open StrSql, Pubmdb, adOpenKeyset, adLockPessimistic
        If Trim(MSFlexGrid1.TextMatrix(1, 0)) <> "" Then
            For i = 1 To MSFlexGrid1.Rows - 1
                PUBRS.AddNew
                For j = 0 To MSFlexGrid1.Cols - 1
                    If Trim(MSFlexGrid1.TextMatrix(i, j)) <> "" Then
                        PUBRS.Fields(j) = Trim(MSFlexGrid1.TextMatrix(i, j))
                     End If
                Next
                PUBRS.Update
            Next
        End If
      

  10.   

    水晶报表4.6,能不能用我上面的模块,然后用datareaport做,怎么做,我急呀