DataReport 对象
            DataReport对象是一个可编程对象,代表数据报表设计器(Data Report designer)。语法DataReport说明Data Report使用数据库中的记录生成报表。要使用它: 配置一个数据源,例如Microsoft数据环境,以访问数据库。
设定DataReport对象的DataSource属性为数据源。
设定DataReport对象的DataMember属性为数据成员。
右键单击设计器,并单击“检索结构”。
向相应的节添加相应的控件。
为每一个控件设定DataMember和DataField属性。
运行时,使用Show方法显示数据报表。 
使用DataReport对象通过更改每一Section对象的布局,来编程改变数据报表的外观和行为。数据报表设计器还有使用ExportReport方法导出报表的功能。这一方法允许从ExportFormats集合中指定一个ExportFormat对象,以用作报表的模板。

解决方案 »

  1.   

    数据报表部分
    数据报表设计器由如下对象组成: DataReport 对象—与 Visual Basic 窗体类似,DataReport 对象同时具有一个可视的设计器和一个代码模块。可以使用设计器创建报表的布局。也可以向设计器的代码模块添加代码,以采用编程方式调整设计器中包含的控件或部分的格式。
    Section 对象—数据报表设计器的每一个部分由 Sections 集合中的一个 Section 对象表示。设计时,每一部分由一个可以单击以选择页的标头和可以放置和定位控件的窗格表示。可以使用对象及其属性在报表生成之前对其进行动态重新配置。
    Data Report 控件—仅包含可在数据报表设计器上工作的特殊控件。(注意:不能在数据报表设计器上使用 Visual Basic 的内部控件或任何 ActiveX 控件)。这些控件可以在Visual Basic Toolbox中找到,但是它们被放置在一个独立的名为“数据报表”的选项卡上。 
    数据报表设计器的部分
    缺省的数据报表设计器包含如下这些部分: 报表标头—包含显示在一个报表开始处的文本,例如报表标题、作者或数据库名。如果想把报表标头作为报表的第一页,设置它的 ForcePageBreak 属性为 rptPageBreakAfter。
    页标头—包含在每一页顶部出现的信息,例如报表的标题。
    分组标头/注脚—包含数据报表的一个“重复”部分。每一个分组标头与一个分组注脚相匹配。标头和注脚对与数据环境设计器中的一个单独的 Command 对象相关联。
    细节—包含报表的最内部的“重复”部分(记录)。详细部分与数据环境层次结构中最低层的 Command 对象相关联。
    页注脚—包含在每一页底部出现的信息,例如页数。
    报表注脚—包含报表结束处出现的文本,例如摘要信息或一个地址或联系人姓名。报表注脚出现在最后一个页标头和页注脚之间。 
    数据报表控件
    当一个新的数据报表设计器被添加到一个工程时,下列控件将自动地被放置在名为DataReport的“工具箱”选项卡中: TextBox 控件(RptTextBox)—允许规定文本格式,或指定一个 DataFormat。
    Label 控件(RptLabel)—允许在报表上放置标签、标识字段或部分。
    Image 控件(RptImage)—使用户能在报表上放置图形。注意,该控件不能被绑定到数据字段。
    Line 控件(RptLine)—使用户能在报表上绘制标尺,以进一步区分部分。
    Shape 控件(RptShape)—使用户能在报表上放置矩形、三角形或圆形(椭圆型)。
    Function 控件(RptFunction)—一个特殊的文本框,报表生成时计算数值。 
      

  2.   

    感谢您使用微软产品。您可以参考以下链接的详细信息和例子为您的VB应用程序添加打印预览的功能。Q113236 HOWTO: Add Print Preview to Visual Basic Applications
    http://support.microsoft.com/support/kb/articles/q113/2/36.asp- 微软全球技术中心 VB技术支持本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查
    (http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
      

  3.   

    可以引用excel 9.0,
    然后
    Dim i As Integer
    'Dim j As Integer
    Dim xlApp As Excel.Application
    Dim xlBook As Excel.Workbook
    Dim xlSheet As Excel.Worksheet
    Set xlApp = CreateObject("Excel.Application")
    xlApp.Visible = True
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)
    (输入要实现的功能,代码可有excel宏自动生成)
    xlApp.Visible = True '显示表格
        Set xlApp = Nothing '交还控制给Excel
      

  4.   

    用printer对象,将你要打印的对象写到printer中,再打印及打印预览都很方便.虽然麻烦,但很灵活,我以前做过.
      

  5.   

    用printer对象,将你要打印的对象写到printer中,再打印及打印预览都很方便.虽然麻烦,但很灵活,我以前做过.
      

  6.   

    用picture 对象,将数据输出到picture中:
    '4.开始打印
    With Pic1
        .Height = Printer.ScaleHeight * mntimes
        .Width = Printer.ScaleWidth * mntimes
        .ScaleHeight = Printer.ScaleHeight
        .ScaleWidth = Printer.ScaleWidth
        .Left = 0
        .Top = 600
        For iC = 1 To Val(Oform.txtCopies)            '对份数循环
            For iNowPage = miPages To iPages              '对页范围循环
                '4-1 打印表头
                With .Font
                     .name = gaUserfont(0).name
                     .Size = gaUserfont(0).Size * mntimes
                     .Bold = gaUserfont(0).Bold
                     .Italic = gaUserfont(0).Italic
                     .Underline = gaUserfont(0).Underline
                     .Strikethrough = False
                End With
                sTmp = Oform.txtTitle & "(" & Trim(Oform.mOform.Tag) & ")"
                .CurrentX = sngLMargin + (sngTblWid - Pic1.TextWidth(sTmp)) / 2
                .CurrentY = sngMargin(0) - sngFontSize * 2
                Pic1.Print sTmp
                
      

  7.   

    http://ygyuan.go.163.com/
    http://ygyuan.3322.net/打印预览控件.