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

 

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 上传!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值