SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)

コンポーネントの組み合わせで実現!
業務要件を満たす帳票アプリケーションの作り方

MultiRow + InputMan + ActiveReports = Windows業務アプリケーション

  • X ポスト
  • このエントリーをはてなブックマークに追加

印刷機能を追加する

 ActiveReportsで作成した帳票デザインとプレビュー表示フォームの2つを、サンプル「CZ0912MultiRow」に追加します。

 CZ0912_Form.vbで表示中のデータを印刷したいので、プレビュー表示フォーム(CZ0912Bound_Form.vb)のShowDialogメソッドに請求番号を渡すためのパラメータを追加して、リスト5のようなコードにします。

リスト5 CZ0912Bound_Form.vbより抜粋
Public Class CZ0912Bound_Form
    Private _billNo As String = String.Empty
    Public Shadows Function ShowDialog(ByVal owner As Form, _
                                       ByVal billNo As String) As DialogResult
        _billNo = billNo
        Return MyBase.ShowDialog(owner)
    End Function

    Private Sub Me_Shown(ByVal sender As Object, _
                            ByVal e As System.EventArgs) Handles Me.Shown
        Dim rpt As New Seikyu_Report()

        Application.DoEvents()
        Using _prco As New CZ0912Bound
            rpt.DataSource = _prco.GetPrintRecords("admin", "", _billNo).Tables(0)
            Viewer1.Document = rpt.Document
            rpt.Run()
        End Using
    End Sub
End Class

 この画面を呼び出すためのコードは、CZ0912_Form.vbに[印刷]ボタンを追加して、ボタンをクリックしたらプレビュー表示フォームを呼び出すようにします。

リスト6 CZ0912_Form.vbより抜粋(Print_Button_Click)
Private Sub Print_Button_Click(ByVal sender As System.Object, _
                               ByVal e As System.EventArgs) Handles Print_Button.Click
  Me.Cursor = Cursors.WaitCursor
  Me.ToolStripStatusLabel1.Text = "印刷中"
  Me.Refresh()
  Try
    Using _form As New CZ0912Bound_Form
      _form.Showdialog(Me,Me.GcMultiRow1.ColumnHeaders(0).Cells("BillNo_Cell").Value.ToString)
    End Using
    Me.ToolStripStatusLabel1.Text = Now.ToString("MM/dd hh:mm:ss")
 Catch ex As Exception
    Me.ToolStripStatusLabel1.Text = ex.Message
 Finally
    Me.Cursor = Cursors.Default
  End Try
End Sub
図10 画面と帳票
図10 画面と帳票

まとめ

 サンプル「CZ0912MultiRow」では、事前に作成した帳票出力コードを最大限利用するために印刷時に再度mdbファイルから値を取得しています。もちろん、印刷時にはmdbファイルから取得せずに画面に表示中のDataSetを渡して印刷するようにも変更可能なので、ぜひチャンレジしてみてください。

製品情報

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ActiveReports)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4757 2009/12/28 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング