誕生日にもらった意外なもの

わかる方ならすぐに回答いただけるものなのかもしれませんが
初心者でよろしくお願いします。
ActiveReportを使って帳票を作成しています。
質問自体は直接的に関係がないかもしれません。

----------------------------------------
Dim report01 As New rptList()
Dim report02 As New rptList()
Dim report03 As New rptList()

'レコードがあれば印刷
If xxx.Count <> 0 Then
report01.Run()
End If
If xxx.Count <> 0 Then
report02.Run()
End If
If xxx.Count <> 0 Then
report03.Run()
End If

'ドキュメントマージ
report01.Document.Pages.AddRange(report02.Document.Pages)
report01.Document.Pages.AddRange(report03.Document.Pages)

p.Export(report01.Document, m_stream)
----------------------------------------

データがあったものだけを印刷し、
最終的にマージして1つの帳票として出すのですが、
「データがあったとき」だけなので
最後のマージの部分のマージ元になる帳票名と
(今はreport01です)
あと追加する帳票が動的に変化してしまいます。
これを解決するためにはどうしたらよろしいでしょうか?
やることは簡単なのにできない自分がいます。
よろしくお願いします。

A 回答 (1件)

listを使用してみたらどうでしょうか?



Dim list As New ArrayList

'適当にrptListを3件作成
For i As Integer = 0 To 3
Dim rptList As New rptList
list.Add(rptList)
Next

'レコードがあれば印刷
For Each records As rptList In list
records.Run()
Next

'必ず先頭要素にマージするのであれば・・・
If list.Count > 0 Then
Dim rptTop As rptList = list.Item(0)
For i As Integer = 1 To list.Count
'list.Item(i)をrptTopにマージして出力
Next
End If
    • good
    • 0
この回答へのお礼

初心者な質問に回答お付き合いただきまして
ありがとうございました。
無事解決できました。たすかりました!!!

お礼日時:2009/06/17 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!