返回首页

您好,

我不知道如果我的查询主题是正确的吗?...

我已创建了21个水晶报表命名GR01_rpt,GR02_rpt,GR03_rpt .... GR021_rpt。 21份报告中,每个人都有自己的格式。

减轻长期的编码,我创建了一个函数,

Public Function A01Control(ByVal txndate As String, ByVal curr_cd As String)

 



      Dim rpt As New GR01_rpt < -- how can i make this variable string

      'GR01_rpt is a Crystal Report

      'GR01_ds is a DataSet for GR01_rpt



      What I wanted to do is, <----------------------

      Dim rpt As New xRpt

      wherein xRpt can be either GR01_rpt, GR02_rpt GR03_rpt to GR21_rpt, Depending    

      on What Report the User Processes.

 

      Also, How can i do it in the DataSet <------------------

 

      Dim da As SqlDataAdapter = New SqlDataAdapter(comm)

      Dim myDS As New GR01_ds()

 

      da.Fill(myDS, myRPT)

      rpt.SetDataSource(myDS)

      ReportMain.CrystalReportViewer2.ReportSource = rpt

 

      ReportMain.CrystalReportViewer2.Refresh()

 

  End Function

 



 

Hope that my query is right??

 

回答

评论会员:游客 时间:2012/02/06
Raimis9:您可以保存在程序目录中的水晶报表文件(RPT)。在文件(RPT)在"解决方案资源管理器"的属性,设置"生成操作"-"无","复制到输出目录"-"如果新的"副本。载入报告的代码是:{C}希望这将有助于:RaisKazi
喜艾伦,
您可以使用不同的SQL,而不是使用不同的数据集的名称,例如每个报告的DataAdapter的:


...

Dim da As SqlDataAdapter = New SqlDataAdapter(comm, sql(rptfileName))

Dim myDs as New DataSet()

da.Fill(myDS, myRPT)

rpt.SetDataSource(myDS) 

 

ReportMain.CrystalReportViewer2.ReportSource = rpt 

ReportMain.CrystalReportViewer2.Refresh()

...

 

Private Function sql(ByVal reportFile As String) As String

 

        Select Case reportFile

            Case "GR01_rpt.rpt"

                Return "SELECT * FROM Table1"

            Case "GR02_rpt.rpt"

                Return "SELECT * FROM Table2"

 

        End Select

 

    End Function
评论会员:游客 时间:2012/02/06
Raimis9:阿兰,我发现我用来加载它的名字的形式需要代码。希望这将有助于{体C3}
Raimis9
评论会员:游客 时间:2012/02/06
尝试如下:{的C4}更多推介:imgsrc=]