第一次用水晶报表,是用存储过程做的,报表已做好了。存储过程里头有2个参数,@STARTDATE,@ENDSTART,想用VB6里的2个DTPicker的值传入参数,不知怎样传入.系统已引用了Crystal Reports 9 ActiveX Designer Run Time Library,也加载了Crystal Report Viewer Control 9,最好有例子。在网上搜了一些代码用,但报表调不出来
Dim objA As New CRAXDRT.Application
Dim objB As New CRAXDRT.Report Set objB = objA.OpenReport(App.Path & "\总金额表.rpt", 1)
CRViewer91.ReportSource = objB
CRViewer91.ViewReport
Dim objA As New CRAXDRT.Application
Dim objB As New CRAXDRT.Report Set objB = objA.OpenReport(App.Path & "\总金额表.rpt", 1)
CRViewer91.ReportSource = objB
CRViewer91.ViewReport
图表区在这里
http://forum.csdn.net/SList/DotNETReport/看看这段有用么?
33 With crxRpt
34 For Each crxParamDef In .ParameterFields
35 With crxParamDef
36 Select Case .Name
Case "{?p_bill_ref}"
38 .ClearCurrentValueAndRange
39 If BillRef >= 256 And ((BillRef Mod 256) = 0) Then
40 .AddCurrentValue (BillRef + CrystalFudge)
41 Else
42 .AddCurrentValue (BillRef)
43 End If
Case "{?p_addr_type_code}"
45 .ClearCurrentValueAndRange
46 .AddCurrentValue (AddressTypeCode)
Case "{?p_use_supp}"
48 .ClearCurrentValueAndRange
49 .AddCurrentValue (IIf(Not blnNotUseSuppression, YesFlag, NoFlag))
Case "{?resume_flg}"
51 .ClearCurrentValueAndRange
52 .AddCurrentValue (YesFlag)
53 End Select
54 End With
55 Next
'阿泰:2004-12-15,新增
'让模板中设置的参数不出现提示框!!!!
objCRReport.EnableParameterPrompting = False '不进行报表参数提示
'先清理可能存在的参数默认值等,一定要做。这里使用序号来依次操作
'如果参数多的话可以使用循环等技巧来清理
objCRReport.ParameterFields(1).ClearCurrentValueAndRange
objCRReport.ParameterFields(2).ClearCurrentValueAndRange
objCRReport.ParameterFields(3).ClearCurrentValueAndRange
'进行赋值
'注意如果有时候此处出现错误提示,那么就要查看
'1-传入的参数是否有值
'2-参数的类型是否匹配,可能要进行类型转换后才能传入
'3-传入参数的值的序号是否对应
Call objCRReport.ParameterFields(1).AddCurrentValue("公司名称测试1")
Call objCRReport.ParameterFields(2).AddCurrentValue(CDate("2004-12-10"))
Call objCRReport.ParameterFields(3).AddCurrentValue(100)