由于本人对vb很菜,现在用vb做了一个控件用来打印卡片的,用datareport进行处理,但在数据源上总是通不过,能否不要数据源,我直接把要显示的填进去然后打印呢?除了datareport,还有什么比较好的控件呢?请各位帮忙!谢谢!

解决方案 »

  1.   

    动态设置DataReport数据源参考:'添加DataReport,在DataReport上添加4个 RptTextBox
    '引用ado(工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号))
    Private Sub DataReport_Initialize()
        Dim AdoCon As New ADODB.Connection
        Dim AdoRec As New ADODB.Recordset
        Dim ctl As Object
        '连接数据库,具体的请自己改过来
        AdoCon.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx"
        AdoRec.Open "select 姓名,年龄,学历,性别 from Table1", AdoCon, adOpenDynamic, adLockReadOnly    With Me
            Set .DataSource = AdoRec
            For Each ctl In .Sections.Item("Section1").Controls
                If TypeName(ctl) = "RptTextBox" Then
                    Select Case ctl.Name
                    Case "Text1"
                        ctl.DataField = "姓名"
                    Case "Text2"
                        ctl.DataField = "年龄"
                    Case "Text3"
                        ctl.DataField = "学历"
                    Case "Text4"
                        ctl.DataField = "性别"
                    End Select
                End If
            Next
        End With
    '    Me.PrintReport '直接打印
    End Sub
      

  2.   

    非常感谢楼楼上,但我连接的数据库没法通过ado来连接,所用的数据库是一个比较少见的数据库cache!问题没解决!
      

  3.   

    可以直接输出到Printer打印:http://community.csdn.net/Expert/topic/4542/4542766.xml?temp=.2474481