C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: クリスタルレポートの日付行出力について


(過去ログ 52 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■28994 / inTopicNo.1)  クリスタルレポートの日付行出力について
  
□投稿者/ ALPA (1回)-(2008/12/03(Wed) 11:20:03)

分類:[VB.NET/VB2005 以降] 

こんにちは。
クリスタルレポートの帳票出力について質問なのですが、


ヘッダ 12月
15日 aaa bbb
16日 ccc ddd

という感じに出力されているのですが、

データがない日付も日付以外空行で表示したいのです。


何かよい方法はないでしょうか?
ご教授宜しくお願い致します。

引用返信 編集キー/
■29011 / inTopicNo.2)  Re[1]: クリスタルレポートの日付行出力について
□投稿者/ はつね (883回)-(2008/12/03(Wed) 12:19:01)
はつね さんの Web サイト
No28994 (ALPA さん) に返信
> ヘッダ 12月
> 15日 aaa bbb
> 16日 ccc ddd
>
> という感じに出力されているのですが、
>
> データがない日付も日付以外空行で表示したいのです。

元のデータを日付だけが入ったテーブル(Aテーブル)、
その日付に対するデータがはいったテーブル(Bテーブル)
の2つつくり、BをAの子テーブルとしてつくります。

Aテーブルについては事前に計算して日付を自動生成しておきます。
AとBを外部結合すれば、Bにデータがない日付も得られます。

それをクリスタルレポートに設定してあげればよいと思います。

引用返信 編集キー/
■29015 / inTopicNo.3)  Re[2]: クリスタルレポートの日付行出力について
□投稿者/ やじゅ (824回)-(2008/12/03(Wed) 12:51:24)
やじゅ さんの Web サイト
> ■No28994 (ALPA さん) に返信
>データがない日付も日付以外空行で表示したいのです。
>

はつねさんのSQLの外部結合がいいと思います。
一応、違う方法も提示してみます。 根本は同じです。

クリスタルレポートのDataSourceにセットするデータの内容
を無い日付を行追加する、ちなみにうまく動くかは試してない

Dim dtTable As DataTable = クリスタルレポートの渡しているデータ
Dim newRow As DataRow

'無い日を行追加する Dayの物理名は適当に付けた 
newRow = dtTable.NewRow
newRow("Day") = "11"
dtTable.Rows.Add(newRow)
newRow = dtTable.NewRow
newRow("Day") = "18"
dtTable.Rows.Add(newRow)

'日付順でソート
Dim dvView As DataView
dvView = dtTable.DefaultView
dvView.Sort = "Day"

'クリスタルレポートのデータソースにセット
crystalReport.DataSource = dvView
引用返信 編集キー/
■29050 / inTopicNo.4)  Re[3]: クリスタルレポートの日付行出力について
□投稿者/ ALPA (2回)-(2008/12/03(Wed) 21:16:31)
返信が遅くなりました。

はつね さんの方法が一番シンプルで簡単だと思ったのですが、ワークテーブルなどは追加
してはいけないという仕様でしたので、今回はやじゅ さんの1行ごとに足りない行を追加する
という方法で解決することができました。

今回はどうもありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -