QA@IT

クリスタルレポート パラメータ引き渡し時にパラメータ値の入力画面が出る

4271 PV

Visual Studio2012 VB.NETでWindowsアプリケーションを作っています。

クリスタルレポートを作り、パラメータ値を引き渡してレポート上に出力する
データの絞り込みをしようとしています。

        Dim frm As New FormMakeReport
        Dim crr As New report
        Dim dt As DataTable = New DataTable
        Dim i As Integer = CInt(lblxxx.Text)

        Me.xxxTableAdapter.Fill(Me.xxxxxDataSet.tableAAA)
        dt = Me.xxxxxDataSet.tableAAA

        crr.SetDataSource(dt)

        frm.repot1.Refresh()
        frm.report1.SetParameterValue("prm", i)

        frm.CrystalReportViewer1.ReportSource = crr

        frm.ShowDialog(Me)

というコードを書いているのですが、「パラメータ値の入力」ウィンドウが出てしまいます。
パラメータを指定しているので「パラメータ値の入力」ウィンドウは出したくないのです。
(「パラメータ値の入力」ウィンドウにパラメータ値を入力すると希望通りの結果にはなる)

試してみた事
・SetParameterValueで直接パラメータに渡したい値(数値)を直に入れてみた
→「パラメータ値の入力」ウィンドウが表示される

・データソースのセット、レポートソースのセット、レポートのリフレシュの順番を色々入れ替えた
→「パラメータ値の入力」ウィンドウが表示される

・パラメータではなく、レポート上のテキストボックスにフォームの値が引き渡せるかどうか
→引き渡せる

・レコード選択式を一旦辞め、単純にレポート上のパラメータフィールドに値が渡せるかどうか
→frm.CrystalReportViewer1.ReportSource = crrをコメントアウトすると
「パラメータ値の入力」ウィンドウは表示されずにパラメータが入った状態でレポートが表示される。
でも当然本来セットされるデータセットの内容は表示されない

デバッガーでcrrの中のParameterFieldsを確認してみたのですが、実際に引き渡す値がどの項目に入るべきなのか
分かりません。

レポートソースをセットするとパラメータ値が引き渡せない辺りに何かありそうなのですが分からず
行き止まってしまいました。

「パラメータ値の入力」ウィンドウを出さない方法はありますでしょうか。

ウォッチ

この質問への回答やコメントをメールでお知らせします。