おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« Length=0の配列を宣言する方法 | メイン | ラジオボタンをdisabledにするとPOSTされてこない »

2009年12月 8日 (火)

Activereportsでのドキュメント生成中に処理を強制的に中断する方法

今日は久々にVB.NET関連のTIPSです。

Activereportsでのドキュメント生成中に処理を強制的に中断する方法です。
Activereportsで印刷する場合に、コール元で条件を与え、条件に合致するデータが存在しない場合に何もせずに戻したい時の方法です。

レポート開始時にDBからのデータ取得時に、レコードが存在しない場合にはCancelメソッドで強制的に中断できます。

Private Sub rpt_ReportStart(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.ReportStart

    'ここでOrcaleDataReaderなどによるデータリーダのSQL文実行を行い、結果がエラー等の場合、強制的に中断

    Me.Cancel

End Sub

Private Sub rpt_NoData(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.NoData
    'さらにSQLエラーが無くても、データが無かった場合、強制的に中断
    Me.Cancel()
End Sub

レポート生成側では、Runメソッドで生成後、ドキュメントの現在のページがNothingであれば強制的に中断したと見なせます。

Dim report As New ActiveReport1()

report.Run()
If (report.CurrentPage Is Nothing) Then
   MsgBox("データがありません。")
End If

以上、簡単なTIPSでした。

トラックバック

このページのトラックバックURL:
http://app.mitelog.jp/t/trackback/459161/22535267

Activereportsでのドキュメント生成中に処理を強制的に中断する方法を参照しているブログ:

コメント

コメントを投稿