大家好,这是改版后我的第一个200分问题。
Crystal Report我设置的数据源是存储过程,但是我无法在程序(ASP/VB)中把参数传给Crystal Report,我看了Crystal 的Help还是没有办法解决(HELP中讲的是动态参数)。
有哪位高人做过吗?
我去书店也没找到参考书,GOOGLE上也没查到,急呀。有知道Crystal Report调用COM组件的参数是如何传送的吗?
注:我用的是Crystal9,不过我想只要是Crystal7以上的代码应该都可以通用的。请附你的源代码好吗?(ASP/VB)

解决方案 »

  1.   

    SetReportVariableValue是报表设定参数值的函数,不知道对你有没有用
      

  2.   

    你如果用的是ado设计的报表,可以把一个ado的记录集传递给报表。那个ado的记录集可以由存储过程获的。set rs=createobject("adodb.recordset")
    rs.open "sp_xxx '" & param1 & "'," & param2 & "" ...crxReport.Database.SetDataSource mvarRs
    就可以了。
    btw
    tollers(哥呼拉) ( ) 说的SetReportVariableValue是传递值给报表本身的参数,与楼主的问题不相干。
      

  3.   

    sorry,
    crxReport.Database.SetDataSource mvarRs
    -->
    crxReport.Database.SetDataSource rs
      

  4.   

    发送者 killideaddrpt文件作的时候加一个参数字段(crystal 7 insert菜单下,9你找一下)
    asp中一下调用Set crParameters = session("oRpt").ParameterFields
    Set crParameter = crParameters.Item(1)
    crParameter.SetCurrentValue cstr(sParamter), 12sParamter就是你要传的数据
    我这样做可以在crystal 7中把参数显示出来,或者用在条件中,
    调用存储过程你就自己看了,应该差不多。
      

  5.   

    最好是在Crystal Report9下的ASP代码.