Crystal reports 9 的使用示例

'*crystal report 的使用示例
'*适用版本:9.0
'*制作人:马亚红
'*制作时间:2004年12月28日
'*情况:此为在水晶报表软件中制作报表(rpt文件)的调用方式
'*菜单->工程->引用->选择:
'*1、Crystal Reports 9 ActiveX Desioner Desion and Runtime Library
'*2、Crystal Reports 9 activeX Desioner Run Time Library
'*好多朋友有这个问题:报表显示后数据没有刷新,解决方法如下:
'*1、在报表的设计界面,菜单“文件”--》“选项”--》“建立报表”选项卡--》把“将数据与报表一起保存”前的勾去掉后保存即可
'*2、调用报表对象的DiscardSavedData方法
'*****************************************************************
Option Explicit
Dim Report As New CrystalReport1
Dim wjfilesys As FileSystemObject 'FSO 对象,用于文件操作
Dim WithEvents CrSecRH As Section '报表显示区对象
Dim capp As New CRAXDDRT.Application '报表集合对象
Dim carp As New CRAXDRT.Report '报表集合中的报表对象
Dim carsubp As New CRAXDRT.Report '报表集合对象中的子报表对象
Dim Pic2 As OLEObject '报表对象中的Ole对象

Dim mytxt As CRAXDRT.TextObject '报表对象中的Textbox对象

Private Sub Combo1_Change() '放大(缩小)比例
CRViewer91.Zoom (CInt(Combo1.Text))
End Sub
Private Sub Command1_Click() '显示第一页
CRViewer91.ShowFirstPage
End Sub
Private Sub Command10_Click() '打印报表
CRViewer91.PrintReport
End Sub
Private Sub Command11_Click()
CRViewer91.showclosebutton
End Sub
Private Sub Command2_Click() '刷新报表
CRViewer91.Refresh
End Sub
Private Sub Command3_Click() '显示上一页
CRViewer91.ShowPreviousPage
End Sub
Private Sub Command4_Click() '显示下一页
CRViewer91.ShowNextPage
End Sub
Private Sub Command5_Click() '显示最后一页
CRViewer91.ShowLastPage
End Sub
Private Sub Command6_Click() '在报表内容内搜索
If (txtSearch.Text <> "") Then
CRViewer91.SearchForText (txtSearch.Text)
End If
txtSearch.Text = ""
End Sub
Private Sub Command7_Click() '导入出PDF

Dim myExportFile As String
myExportFile = App.Path + "temp.pdf"
If wjfilesys.FileExists(myExportFile) Then
wjfilesys.DeleteFile (myExportFile)
End If
Report.ExportOptions.DiskFileName = myExportFile

Report.ExportOptions.FormatType = crEFTPortableDocFormat
Report.ExportOptions.DestinationType = crEDTDiskFile
Report.ExportOptions.PDFExportAllPages = True
Report.Export (False)
End Sub
Private Sub Command8_Click() '导出到Excel
Dim myExportFile As String
myExportFile = App.Path + "temp.xls"
If wjfilesys.FileExists(myExportFile) Then
wjfilesys.DeleteFile (myExportFile)
End If
Report.ExportOptions.DiskFileName = myExportFile
Report.ExportOptions.FormatType = crEFTExcel97
Report.ExportOptions.DestinationType = crEDTDiskFile
Report.ExportOptions.PDFExportAllPages = True
Report.Export (False)
End Sub
Private Sub Command9_Click() '导出到WORD
Dim myExportFile As String
myExportFile = App.Path + "temp.doc"
If wjfilesys.FileExists(myExportFile) Then
wjfilesys.DeleteFile (myExportFile)
End If
Report.ExportOptions.DiskFileName = myExportFile

Report.ExportOptions.FormatType = crEFTWordForWindows
Report.ExportOptions.DestinationType = crEDTDiskFile
Report.ExportOptions.PDFExportAllPages = True
Report.Export (False)
End Sub
Private Sub Form_Load()
Screen.MousePointer = vbHourglass
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strsql As String
Dim i As Integer
If cn.State = adStateOpen Then cn.Close
'SQL SERVER连接方式
With cn
.Provider = "sqloledb"
.ConnectionString = "data source=dd;initial catalog=dfd;user id=sa;password=aaa"
.Open
End With
'Mdb的连接方式
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" + App.Path + "Test.mdb;Persist Security Info=False"
.Open
End With
strsql = "select * from carsort"
If rs.State = adStateOpen Then rs.Close
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
.Open strsql, cn, adOpenDynamic, adLockOptimistic
End With
Set carp = capp.OpenReport(App.Path + "CryStalTest.rpt") '取报表对象
Set carsubp = carp.OpenSubreport("myhgyp") '取子报表对象

Set CrSecRH = carp.Sections("PageHeaderSection1") '取报表头显示区对象
Set Pic2 = carp.Sections("PageHeaderSection1").ReportObjects("picture1") '取报表头显示区中的Ole对象
Set mytxt = CrSecRH.ReportObjects("mytxt")
For i = 1 To carp.Database.Tables.Count '设置报表的数据源
If carp.Database.Tables.Item(i).Name = "carsort" Then
carp.Database.Tables(i).SetDataSource rs
End If
Next
For i = 1 To carsubp.Database.Tables.Count '设置子报表的数据源
If carp.Database.Tables.Item(i).Name = "carsort" Then
carsubp.Database.Tables(i).SetDataSource rs
End If
Next
Screen.MousePointer = vbHourglass
'第一种设置参数的方式
carp.ParameterFields(1).ClearCurrentValueAndRange
carp.ParameterFields(1).AddCurrentValue ("myhgyp")
carp.ParameterFields(2).ClearCurrentValueAndRange
carp.ParameterFields(2).AddCurrentValue (CInt("3"))
'第二种设置参数的方式
carp.ParameterFields.GetItemByName("gg").ClearCurrentValueAndRange
carp.ParameterFields.GetItemByName("gg").AddCurrentValue ("myh11" & vbCrLf & "-2gyp")
carp.ParameterFields.GetItemByName("ff").ClearCurrentValueAndRange
carp.ParameterFields.GetItemByName("ff").AddCurrentValue (CInt("673"))
carp.DiscardSavedData
CRViewer91.ReportSource = carp
CRViewer91.ViewReport
Screen.MousePointer = vbDefault
CRViewer91.Zoom 100
'----------------------
Screen.MousePointer = vbDefault
Set wjfilesys = CreateObject("Scripting.FileSystemObject")
End Sub
Private Sub CrSecRH_Format(ByVal pFormattingInfo As Object) '格式化报表头显示区中的对象
Set Pic2.FormattedPicture = LoadPicture(App.Path & "tsconfig.bmp") 'changes the pic in the Report Header
mytxt.SetText Format(mytxt.Text, "####年##月##日") '格式化TextBox中的文本显示方式
End Sub
Private Sub Form_Resize() '设置报表显示区域
CRViewer91.Top = 0
CRViewer91.Left = 0
CRViewer91.Height = ScaleHeight
CRViewer91.Width = ScaleWidth
End Sub

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8816263/viewspace-1006534/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8816263/viewspace-1006534/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Crystal Reports 9.2 中文版(水晶报表) 下载,,软件版本:9.2.0.448不过现已出了Crystal Reports Professional v9.2.2.634 (c) Crystal Decisions,有足够的空间就提供.这是一个很不错的报表控件,我相信很多朋友都听说过吧!Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。感谢 revenant 上传!
### 回答1: Crystal Reports是一款强大的报表设计和生成工具,它是由SAP公司开发的。这个控件可以与各种数据库进行集成,如Oracle、SQL Server、MySQL等。借助Crystal Reports,用户可以轻松地创建各种类型的报表,包括表格报表、图形报表和交叉报表等。该控件提供了丰富的数据处理和分析功能,使用户能够对数据进行排序、计算、筛选和汇总等操作。 使用Crystal Reports控件,用户可以通过简单的拖放操作,将数据字段添加到报表中,并按照自己的需求进行布局和格式化。用户可以设置报表的标题、页眉和页脚,自定义报表的样式和风格。此外,Crystal Reports还支持多语言功能,用户可以根据需要将报表翻译成不同的语言。 Crystal Reports还提供了灵活的参数选择功能,可以让用户根据不同的条件和需求生成不同的报表。用户可以设置参数,如日期范围、地区等,然后生成相应的报表。 此外,Crystal Reports还支持导出报表为不同的格式,如PDF、Excel、Word等。用户可以将报表保存为文件,或者通过电子邮件或打印等方式分享给其他人。 总的来说,Crystal Reports控件是一款功能强大、易于使用的报表生成工具。它可以帮助用户快速、准确地创建各种类型的报表,并对数据进行处理和分析。无论是个人用户还是企业用户,都可以从Crystal Reports中受益。 ### 回答2: Crystal Reports 控件是一种功能强大的报表生成工具,可以用于创建和定制各种类型的报表。它提供了丰富的功能和灵活的设计工具,方便用户根据需求进行报表设计和数据分析。 首先,Crystal Reports 控件可以连接到各种数据源,包括关系型数据库、Excel文件、文本文件等,使用户能够方便地从不同数据源中提取数据用于报表生成。同时,它还支持多种数据源的联合查询,可以将不同数据源的数据进行关联,生成更加综合和全面的报表。 其次,Crystal Reports 控件具有丰富的报表设计工具,包括报表模板、布局设计、数据字段选择等功能。用户可以根据需要自定义报表的样式、格式和布局,还可以通过添加图表、图像和其他视觉元素来增强报表的可视化效果。 此外,Crystal Reports 控件还支持数据汇总、排序、筛选和分组等功能,方便用户对报表数据进行整理和统计。用户还可以通过添加参数、公式和条件语句等来对报表数据进行更加灵活的处理和分析。 最后,Crystal Reports 控件还提供了多种输出选项,包括打印、导出为PDF、Excel、Word等格式,使用户能够方便地共享和分发报表。 综上所述,Crystal Reports 控件是一款功能强大、灵活易用的报表生成工具,可以帮助用户方便地创建、设计和分析各种类型的报表,满足企业和个人对于报表的需求。它的丰富功能和可定制性使其成为许多公司和组织进行数据分析和决策支持的重要工具。 ### 回答3: Crystal Reports控件是一款功能强大的报表设计和生成工具。它允许用户创建、定制和生成各种复杂的报表,用于分析和展示数据。 Crystal Reports控件具有丰富的功能与灵活的设计选项。用户可以通过简单的拖放操作将数据源与报表模板关联,然后进行布局、格式化和计算字段等操作。还可以使用各种图表、图形和计算字段等功能来使报表更加直观生动。 该控件支持多种数据源,包括关系数据库、文本文件、XML文件等。用户可以根据需要连接到各种数据源,然后使用SQL查询或存储过程来获取数据。Crystal Reports还提供了数据连接和筛选、数据聚合和汇总等功能,以满足用户不同的数据分析需求。 此外,Crystal Reports控件还提供了强大的报表导出和分享功能。用户可以将报表导出为PDF、Excel、Word等格式,方便与他人共享或存档。同时,还可以将报表作为纯HTML或动态网页嵌入到网站中,实现在线报表的展示和查询。 总之,Crystal Reports控件是一款功能强大、灵活易用的报表设计和生成工具。它能够帮助用户快速创建各种复杂的报表,并提供了丰富的数据分析和展示功能,满足用户不同的报表需求。无论是个人用户还是企业用户,都可以借助Crystal Reports控件轻松完成报表设计与生成的任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值