DOBON.NET DOBON.NETプログラミング掲示板過去ログ

クリスタルレポートへLabel.Textの渡し

環境/言語:[windowsXP]
分類:[その他]

いつもお世話になっております。
VB.NETでもクリスタルレポートについてお伺いしたいのですが、

フォームにてTextBoxの数値が1000より大きいと小さいで
Label1.Textを変化させています。
クリスタルレポートにて出力する際に格納されていないデータ(文字列)を
「フォーム間でのデータの受渡し」のように出来ないものでしょうか?
検索等を行いましても探しきれていない為、よろしくお願い致します。
お世話になります。

■No13446に返信(尾白さんの記事)
> クリスタルレポートにて出力する際に格納されていないデータ(文字列)を
> 「フォーム間でのデータの受渡し」のように出来ないものでしょうか?
> 検索等を行いましても探しきれていない為、よろしくお願い致します。

クリスタルレポートは使ったことはないのですが
コードビハインド(?)に引数付きコンストラクタで値を渡してやるとか、
Publicなプロパティを作って、
Setの中でPrivateメンバ変数にセットするとか…
「フォーム間でのデータの受渡し」と同じ様な感じでできませんか?
なおこ(・∀・)さん
お世話になっております。

クリスタルレポートの件で再度検索を行いましたら
APIにてパラメーター値をセットできるとありましたが
APIについてほとんど分かっていない為教えていただきたいのですが。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5188&forum=7
■No13461に返信(尾白さんの記事)
> クリスタルレポートの件で再度検索を行いましたら
> APIにてパラメーター値をセットできるとありましたが
> APIについてほとんど分かっていない為教えていただきたいのですが。

API なんて使わずとも式フィールドと Session を使うことで渡せると思うんですが。
じゃんぬねっとさん
ご返答ありがとうございます。

> API なんて使わずとも式フィールドと Session を使うことで渡せると思うんですが。

sessionをヘルプで調べますと、ASP.NETと表記されていますが
現在使用していますのはADO.NETなのですが大丈夫なのでしょうか?
お世話になります。

■No13464に返信(尾白さんの記事)
> じゃんぬねっとさん
> ご返答ありがとうございます。
>
>>API なんて使わずとも式フィールドと Session を使うことで渡せると思うんですが。
>
> sessionをヘルプで調べますと、ASP.NETと表記されていますが
> 現在使用していますのはADO.NETなのですが大丈夫なのでしょうか?

今作成されているのはWindowsアプリケーションですか?
なおこ(・∀・)さん
お世話になっております。

> 今作成されているのはWindowsアプリケーションですか?

windowsアプリケーションですが何か問題があるのでしょうか?
お世話になります。

■No13470に返信(尾白さんの記事)
> windowsアプリケーションですが何か問題があるのでしょうか?

いえ、なんら問題はないですけど、
WindowsアプリケーションでもWebアプリケーションでも
.NETでDBにアクセスするのなら、
ADO.NETはどちらも使うだろうなぁ…と思っただけです。

Windowsアプリケーションであれば、
なおの事、
私の前の投稿のやり方で出来ませんか?
こんにちは、じゃんぬ です。

■No13474に返信(なおこ(・∀・)さんの記事)
> Windowsアプリケーションであれば、
> なおの事、
> 私の前の投稿のやり方で出来ませんか?

CrystalReports のバージョンが判りませんが...

こちらの私の投稿を参照してください。
http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi?print+200503/05030090.txt
■No13446に返信(尾白さんの記事)
> クリスタルレポートにて出力する際に格納されていないデータ(文字列)を
> 「フォーム間でのデータの受渡し」のように出来ないものでしょうか?

SetParameterValueのことかな?
なおこさん、じゃんぬねっとさん、trapemiyaさん
ご返答ありがとうございます。

皆様の記入された内容で実施を行ってみます。
その後、又何かありましたらよろしくお願い致します
ただパラメータに値を渡すだけならば、
レポートファイルに『パラメータフィールド』を作成し、
次のコードを適宜改変すればいけると思います。


'*--- サンプル:[testReport]レポートファイルに[param_test]パラメータフィールドを作成 --*

        '** 作成したレポートファイル
        Dim testReport As New testReport

        Dim repoDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
        Dim paramFieldDefinitiongs As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinitions
        Dim paramFieldDefinitiong As CrystalDecisions.CrystalReports.Engine.ParameterFieldDefinition
        Dim paravalue As CrystalDecisions.Shared.ParameterValues
        Dim paraDuscrete As CrystalDecisions.Shared.ParameterDiscreteValue

        paramFieldDefinitiongs = testReport.DataDefinition.ParameterFields

        '** レポートファイルに作成したパラメータフィールドの名前を指定
        paramFieldDefinitiong = paramFieldDefinitiongs.Item("param_test")
        paravalue = paramFieldDefinitiong.CurrentValues

        paraDuscrete = New CrystalDecisions.Shared.ParameterDiscreteValue

        '** パラメータフィイールドに渡す値をセット
        paraDuscrete.Value = "Parameter Test..."

        paravalue.Add(paraDuscrete)

        paramFieldDefinitiong.ApplyCurrentValues(paravalue)


        testReport.SetDataSource(DsTest)

'*-------------------------------------------------------------------------------------*

DOBON.NET | プログラミング道 | プログラミング掲示板