none
Visual Studio 2008でCrystal Reportsのパラメータ値の入力が、プルダウンでなく離散値入力になる RRS feed

  • 質問

  • Crystal Reportsを作成し、Visual Studio.NET 2003(VB)にて作成した「Windowsフォーム」に「CrystalReportViewer」を貼り付け
    「ReportSouce」にてそのファイル「xxx.rpt」を表示させていました。
    その時は、起動時にパラメータの入力がプルダウン形式で表示され
    データの年:(2010)月:(3)を選択し、OKをクリックするとデータが表示されていました。
    ※動的にデータの値から年月をパラメータとして取得しています。

    ところが、Visual Studio.NET 2008(VB)にバージョンアップし、2003の時と同様に「Windowsフォーム」に
    「CrystalReportViewer」を貼り付け「ReportSouce」にてそのファイル「xxx.rpt」を表示させたところ
    起動時に、離散値入力が表示され、プルダウン形式ではなく直接入力の形でしか表示されません。
    手動で、年や月を入力すれば、結果は同じ内容が表示されます。
    動的にデータを取得して、年月をプルダウン形式で表示させるには、どのようにすれば良いのでしょうか。
    よろしくお願いいたします。

    CrystalReportsのバージョンは、11です。
    ※CrystalReports2008にバージョンアップすれば解決??
    2010年3月2日 2:39

回答

  • 2003と2008でプログラムを作り直していると読み取れるのですが、2008のほうには動的にパラメーターを設定する処理をしていない状態になってるのでは?
    #まったく記述されていないのか、エラーで飛ばされているのかわかりませんが

    動的に設定したのと、してないのを試してみましたが、設定しないと当然リストは表示しないで離散値入力になりました。
    #2003と2008でバージョンの微妙な違いはあるのかフィールドの型の互換性がないというエラーになったのでrptをアップグレードさせました。

    リスト設定手順
    CrystalDecisions.Shared.ParameterDiscreteValueでパラメータ値をつくる。
    CrystalDecisions.Shared.ParameterValuesに値の数だけParameterDiscreteValueをAddする。
    ReportDocumentのDataDefinition.ParameterFieldsで目的のパラメータのParameterFieldDefinitionを取得する。
    ParameterFieldDefinitionにParameterValueをApplyDefaultValuesする。

    2010年3月2日 10:56
  • こんにちは。フォーラムオペレーターの高橋春樹です。

    gekkaさん
    いつもお世話になっております。
    アドバイスの投稿有難うございました。

    にったまん2010さん
    MSDNフォーラムのご利用有難うございます。
    SAP Community Network Forumsでも同様の質問をされたようなので、リンクさせて頂きます。

    Visual Studio 2008環境下でCRのパラメータがプルダウンで表示されない
    http://forums.sdn.sap.com/thread.jspa?threadID=1621302&tstart=0

    SAP Community Network Forumsに投稿された情報によると
    Visual Studio2008とCrystal Reports2008を共存させる事により、問題が解決したようですね。

    今回ご質問された問題は、解決したようなので、
    MSDNフォーラムにアドバイスを投稿してくれたgekkaさんの投稿に回答マークを付けさせてもらいました。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹
    2010年3月18日 7:49

すべての返信

  • 2003と2008でプログラムを作り直していると読み取れるのですが、2008のほうには動的にパラメーターを設定する処理をしていない状態になってるのでは?
    #まったく記述されていないのか、エラーで飛ばされているのかわかりませんが

    動的に設定したのと、してないのを試してみましたが、設定しないと当然リストは表示しないで離散値入力になりました。
    #2003と2008でバージョンの微妙な違いはあるのかフィールドの型の互換性がないというエラーになったのでrptをアップグレードさせました。

    リスト設定手順
    CrystalDecisions.Shared.ParameterDiscreteValueでパラメータ値をつくる。
    CrystalDecisions.Shared.ParameterValuesに値の数だけParameterDiscreteValueをAddする。
    ReportDocumentのDataDefinition.ParameterFieldsで目的のパラメータのParameterFieldDefinitionを取得する。
    ParameterFieldDefinitionにParameterValueをApplyDefaultValuesする。

    2010年3月2日 10:56
  • ご回答ありがとうございます。
    説明不足で申し訳ありませんでした。

    Crystal Reports(xxx.rpt)の作成は、「BusinessObjects XI-Crystal Reports XI」で作成しており
    VB2003およびVB2008では、ReportSouceにてそのファイル名を指定して表示させているだけで
    ロジックは全く書いておりません。

    その為、動的の設定も「Crystal Reports XI」側でしか行っていない状態です。
    できれば、そのファイルをそのままVB2008で使用したいのですが・・・

    やはり、「Crystal Reports XI」を「Crystal Reports 2008」にバージョンアップさせなければならないのでしょうか?
    2010年3月2日 23:56
  • こんにちは。フォーラムオペレーターの高橋春樹です。

    gekkaさん
    いつもお世話になっております。
    アドバイスの投稿有難うございました。

    にったまん2010さん
    MSDNフォーラムのご利用有難うございます。
    SAP Community Network Forumsでも同様の質問をされたようなので、リンクさせて頂きます。

    Visual Studio 2008環境下でCRのパラメータがプルダウンで表示されない
    http://forums.sdn.sap.com/thread.jspa?threadID=1621302&tstart=0

    SAP Community Network Forumsに投稿された情報によると
    Visual Studio2008とCrystal Reports2008を共存させる事により、問題が解決したようですね。

    今回ご質問された問題は、解決したようなので、
    MSDNフォーラムにアドバイスを投稿してくれたgekkaさんの投稿に回答マークを付けさせてもらいました。

    今後ともMSDNフォーラムを宜しくお願いします。


    マイクロソフト株式会社 フォーラム オペレーター 高橋春樹
    2010年3月18日 7:49