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

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

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

active reportsで改ページしたい

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

■97089 / inTopicNo.1)  active reportsで改ページしたい
  
□投稿者/ ちだ (1回)-(2021/03/25(Thu) 13:43:53)

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

ctiveReportsにて複数顧客宛の請求書を一括印刷できるプログラムをVB.NET
で作成中です。

Report1.vb
 ReportStartイベントにて
  ・データソースの設定
  ・複数顧客分の請求データ抽出SQL文

 FetchDataイベントにて
  ・ReportStartで抽出した顧客の1顧客分ずつの請求明細データを
SQLDataReaderで抽出
  (複数顧客一括抽出をデータソースとしているため、明細抽出SQLは
SQLDataReaderを使用しています。)

という感じで、明細行が固定(8行)の場合は正常に印刷できています。
データリーダのレコードは表示用コントロールのデータフィールドに設定でき
ないため、
8行分の表示用コントロールをすべて作成し、SQLDataReaderの行数に応じて
当てはめています。
private Row As Integer = 1
Dim dr As SqlDataReader
...
Do while dr.Read
select case Row
case 1
txtSeikyuAmount.text = dr.Item("SEIQ_AMOUNT")
中略
case 2 ...
end select
Row=Row+1
loop


しかし、明細行が固定行(8行)以上の場合の改ページ処理がうまく出来ず困
っています。
FetchDataイベントで9行目の場合、NewPage.Afterしてもダメ(case 9
NewPage.After)
Detail_FormatイベントでNewPage.Afterしてもダメ(if Row < 8 then
NewPage.After)





そこで、明細行をサブレポートにぶち込んだのですが、
(SQLDataReaderにぶち込んでいたSQLをサブレポートのデータソースを設定
し、抽出したレコードを表示用コントロールのデータフィールドに当てはめ
る)
サブレポートの行数に応じて改ページする方法がわかりません。
サブレポートのDetail_Formatイベントで行数をカウントし、親レポー
ト.Detail.NewPage = NewPage.Afterはダメでした。


なにかいい方法があればご教授ください。
引用返信 編集キー/
■97090 / inTopicNo.2)  Re[1]: active reportsで改ページしたい
□投稿者/ ちだ (2回)-(2021/03/25(Thu) 16:10:38)
サブレポートの行数を取得して8行以上の時、メインレポートを改ページできればいいのですが、
そのような方法はありますか?
引用返信 編集キー/
■97091 / inTopicNo.3)  Re[2]: active reportsで改ページしたい
□投稿者/ ちだ (3回)-(2021/03/25(Thu) 16:13:13)
No97090 (ちだ さん) に返信
ページヘッダーには請求書送付先情報および合算請求金額など
ディテールには明細
ページフッターにはコンビニ払込票

を設定しています。
引用返信 編集キー/
■97098 / inTopicNo.4)  Re[3]: active reportsで改ページしたい
□投稿者/ ちだ (4回)-(2021/03/26(Fri) 20:34:35)
自己解決しました
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ