用crystal Report    If Me.GridM.ApproxCount = 0 Then Exit Sub
    With Me.CryReport
        .WindowState = crptMaximized
        .WindowShowPrintSetupBtn = True
        .Connect = "连接字串"
        .ReportFileName = App.path & "\Report\rpt1.rpt"
        .SQLQuery = "select ..."
        .PrintReport
    End With

解决方案 »

  1.   

    没用过VB6.0,直接学的VB.NET,在vb.net里用水晶报表很方便的,vb6.0没有水晶报表吗-
    我不知道,帮你顶顶,
      

  2.   

    用VB6.0的Data Report 就可以,功能没有crystal Report强,但简单好用,作简单的报表基本不用编码。
      

  3.   

    推荐第三方控件:activereport,功能强大。
      

  4.   

    多谢各位的指教,你们提出的方法我去试一下,解决了问题以后马上结贴.不过现在还有一个问题需要请教:
        1。现在我需要统计数据表中的各项数据,例如:要把select sum(avg) from emp 语句得出的数据放到一个窗口的text中,这要怎么样实现呢?我想不通的地方就是这条语句似乎只有操作数据库的功能,而不会像函数一样有返回值
        2。一个界面问题。我用DataGrid 制作出的数据表,如果列的数目较多时,这个表格的下面就会出现一个滚动条,当我把这个滚动条拉到最右边的时候,会出现一大块的空白处,这很影响程序的美观。可不可以把滚动条拉到最右边的时候刚好可以到数据表的最后一列?
        UP
      

  5.   

    1:大致这样
    dim rs as adodb.recordset
    dim conn as  new adodb.connection
    conn.connectionstring=""
    conn.open
    set rs=conn.execute"select sum(avg) from emp" 
    text1.text1=rs(0)
      

  6.   

    推荐控件,对于数据统计和打印特别有效:
    vsflexgrid+vsprint
      

  7.   

    我觉得输入到excel里是最方便的了
    http://expert.csdn.net/Expert/topic/1819/1819831.xml?temp=.707638
      

  8.   

    请问一下有没有比较详细的关于DataReport的使用说明
      

  9.   

    参考一下这个例子
    \Program Files\Microsoft Visual Studio\MSDN98\98VS\1033\samples\VB98\DataRept
      

  10.   

    我用的是delphi开发工具的,又打印预览这一个内容的所以我 
    ....
      

  11.   

    给你我的代码,可能没有用,你参考下。
    Dim intI As Integer
        
        If mRst.State = adStateOpen Then
            With rptOp_orderPlan
                Set .DataSource = mRst
                .DataMember = ""
                .Orientation = rptOrientLandscape
                .LeftMargin = 10                                              '左边距
                .RightMargin = 10                                            '右边距
                .Sections("section4").Controls("labbegin").Caption = txtBegin
                .Sections("section4").Controls("labend").Caption = txtEnd
                 
                '设置标签和文本框
                For intI = 0 To mRst.Fields.Count - 1        '
                    .Sections("section1").KeepTogether = True            '防止一条记录被分开打印
                    .Sections("section1").Controls("text" & Trim(str(intI + 1))).DataField = mRst.Fields(intI).Name
                    .Sections("section1").Controls("text" & Trim(str(intI + 1))).Alignment = 2
                    .Sections("section1").Controls("text" & Trim(str(intI + 1))).CanGrow = True
                    .Sections("section1").Controls("text" & Trim(str(intI + 1))).Top = 100
                Next
                .Sections("section5").Controls("funCount").DataField = mRst.Fields(0).Name
                .Show
            End With
        
        End If