在vb或者vb.net中如何crystl32.ocx来调用水晶报表9.0或10.0(注水晶报表8.0是可以的)
在vb中水晶报表8.0中可以用以下的代码调用
引用控件:crystl32.ocx
screen.mousepointer=11
......
crystal1.destination=rpttowindow
crystal1.action=1(在8.0中这里就可以调出报表,可在9.0中报错unload report)
screen.mousepointer=0
请问:
我如何写才可以调出9.0的报表呢
注:前提是用crystl32.ocx控件来调用
问题点数:20、回复次数:8Top
1 楼daisy8675(莫依 沉迷)回复于 2005-07-21 18:03:32 得分 1
我不明白你在说什么,VB中间使用8和9都是一样的
你的代码我看不懂。我没遇见过这样的写法Top
2 楼relaxcool(响水稻)回复于 2005-07-22 10:40:42 得分 0
也许我描述不清:即是
在vb中用控件crystl32.ocx如何调用水晶报表9.0
或者就是vb中如何调用水晶报表9.0?
Top
3 楼relaxcool(响水稻)回复于 2005-07-23 15:21:21 得分 0
有没有RDC9.0或者10.0下载啊,期待高手啊!!!!!!!!!!!!!!!!!!Top
4 楼relaxcool(响水稻)回复于 2005-07-30 16:11:06 得分 0
唉~~~~~~~~~~~~~~~~~~~~~~~~~~~~Top
5 楼xwdd129(高手就是:不出手)回复于 2005-07-31 06:32:26 得分 5
VS2003中内嵌有水晶报表,直接添加控件即可,不知道你还想怎么调用!?
关于下载,可看此处:水晶报表10.0(中文版)for vs2003
http://ftp.crystaldecisions.com/outgoing/Products/CR10DevEn.exe
这里是注册码
Crystal Reports 10 Advanced Developer (build 10.0.0.53327)
序列号:
License : AV860-01CS00G-U7000NC
SN : 1231467890
如果在VS.Net2003装好后,再装这个版本.那么CR10会自动集成到VS2003中
Top
6 楼daisy8675(莫依 沉迷)回复于 2005-07-31 11:27:27 得分 5
如果是VB中调用,参考这个:http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=195585
NET中间着带了水晶报表,直接嵌入就行了Top
7 楼drk928(一起看斜阳)回复于 2005-08-01 10:32:10 得分 9
网上有例子啊.用CRViewer9.
代码如下:
Private Sub Form_Load()
Dim i As Integer
Dim rst As New ADODB.Recordset
Dim objCRApp As New CRAXDRT.Application 'Ë®¾§±¨±íÓ¦ÓóÌÐò¶ÔÏó
Dim objCRReport As New CRAXDRT.Report '±¨±í¶ÔÏó
Dim props As CRAXDRT.ConnectionProperties '±¨±íÊý¾ÝÔ´²ÎÊý¼¯
Dim prop As CRAXDRT.ConnectionProperty '±¨±íÊý¾ÝÔ´²ÎÊý
rst.CursorLocation = adUseClient
With rst.Fields
.Append "ID", adInteger
.Append "CityID", adInteger
.Append "UserName", adVarChar, 100
End With
rst.Open
'½øÐи³Öµ
With rst
For i = 0 To 10
.AddNew
.Fields("ID") = i
'´Ë´¦×öÒ»¸ö¼òµ¥µÄ´¦Àí,ÒòΪÔÚÒÔºó»áÓÃÀ´½²½â·Ö×éÀàµÄ±¨±íÖÆ×÷
If i Mod 2 = 0 Then
.Fields("CityID") = 1
ElseIf i Mod 3 = 0 Then
.Fields("CityID") = 2
Else
.Fields("CityID") = 3
End If
.Fields("UserName") = "UserName" & i
.Update
Next
End With
'--------------------------------------------------
'´´½¨±¨±í
'--------------------------------------------------
'¼ÓÔØ±¨±íÄ£°å
Set objCRReport = objCRApp.OpenReport(App.Path & "\Report1.rpt", 1)
'¼ÓÔØ±¨±í×ֶζ¨ÒåÎļþ
Set props = objCRReport.Database.Tables(1).ConnectionProperties
For Each prop In props
If InStr(prop.Name, "Field Definition File") > 0 Then
prop.Value = App.Path & "\Users.ttx"
Exit For
End If
Next
Set props = Nothing
'Çå³ý±¨±íÖб£³ÖµÄÊý¾Ý
objCRReport.DiscardSavedData
objCRReport.EnableParameterPrompting = False '²»½øÐб¨±í²ÎÊýÌáʾ
objCRReport.ParameterFields(1).ClearCurrentValueAndRange
objCRReport.ParameterFields(2).ClearCurrentValueAndRange
objCRReport.ParameterFields(3).ClearCurrentValueAndRange
'传参
Call objCRReport.ParameterFields(1).AddCurrentValue("test")
Call objCRReport.ParameterFields(2).AddCurrentValue(CDate("2004-12-10"))
Call objCRReport.ParameterFields(3).AddCurrentValue(100)
'--------------------------------------------------
'¸³¸ø±¨±íÊý¾Ý
objCRReport.Database.SetDataSource rst
objCRReport.LeftMargin = 10
objCRReport.RightMargin = 10
CRViewer91.EnableExportButton = True
CRViewer91.EnableSelectExpertButton = False
CRViewer91.DisplayGroupTree = False
CRViewer91.EnableAnimationCtrl = False
CRViewer91.EnableCloseButton = False
CRViewer91.EnableGroupTree = False
CRViewer91.EnableHelpButton = False
CRViewer91.EnableRefreshButton = False
CRViewer91.EnableNavigationControls = False
CRViewer91.EnablePopupMenu = False
CRViewer91.EnableSearchControl = False
CRViewer91.EnableSearchExpertButton = False
CRViewer91.EnableSelectExpertButton = False
CRViewer91.DisplayTabs = False
CRViewer91.ReportSource = objCRReport
CRViewer91.ViewReport
Set rst = Nothing
End SubTop
8 楼relaxcool(响水稻)回复于 2005-08-01 15:48:03 得分 0
CRViewer91控件要在窗口画出,再加载做好的水晶报表,你说的很详尽,我的意思是能不能像引用crystl32.ocx控件一样在运行时是“隐藏”的,直接弹出画好水晶报表(如test.rpt),这样是不是做不到,还是这种方法不好,现在都不用了.我现在发现几乎所有回答调用水晶报表都用CRView1或者CRView91Top




