Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


売上げリストの印刷部数をコンボボックスで指定する : Access裏技Tips



複数のレポートを印刷する場合は、印刷設定のダイアログを表示させ、印刷部数を指定するのが一般的です。 ここでは、専用フォームのコンボボックスからレポートの印刷部数を指定する技をご紹介します。

印刷部数をコンボボックスで指定する

  1. サンプルテーブル(tbl_sample)をもとにして、「売上げリスト」の帳票レポート(rpt_sample)を作成します。
  2. 次に、フォーム(frm_sample)を作成し、そのフォーム上にコンボボックスを作成します。
  3. このコンボボックスから印刷部数を選択し、更新後処理イベントを利用してレポート印刷を可能にしています。

帳票レポートの作成

サンプルテーブルをもとにして、「売上げリスト」の帳票レポートを作成します。

  1. 今回の技で対象となるレポートは、単票、帳票を問いません。汎用に仕上げています。

単票式フォームの作成

  1. 単票式フォームを作成します。
  2. コンボボックスを作成し、値集合タイプに「値リスト」を値集合ソースに1;2;3;4;5;6;7;8;9;10;11;12;13;14;15を記述します。

コンボボックスの更新後処理イベントプロシージャの作成

コンボボックスの更新後処理イベントプロシージャを作成します。

Private Sub cmb部数_AfterUpdate()

    Dim strmsg As String
    strmsg = "印刷を開始します。印刷部数は、" & Me.cmb部数 & "部です。" ' --- A

    If 1 <> MsgBox(strmsg, 17) Then ' --- B
        MsgBox "印刷準備の段階で作業を中止しました。"
    Else
        DoCmd.OpenReport "rpt_sample", acViewPreview ' --- C
        DoCmd.PrintOut acPrintAll, , copies:=Me.cmb部数 ' --- D
        DoCmd.Close acReport, "rpt_sample"
        MsgBox "只今印刷を開始しました。"
    End If
    
End Sub
解説
  1. コンボボックスから選択したデータ(部数)を受け取ります。
  2. IfステートメントとMsgBox関数を用いて、印刷の可否をユーザーに確認します。
    印刷を実行する前に確認メッセージを表示させるのは、ユーザーに対して思いやりのある対応です。
  3. rpt_sampleレポートを印刷プレビューで開きます。
  4. Print Outメソッドでアクティブオブジェクト(ここではrpt_sample)を印刷します。
    印刷枚数は、コンボボックス(Me.cmb部数)からデータを受け取ります。

今回のおすすめポイント

Print Out メソッド

このメソッドは、現在アクティブなオブジェクトを印刷します。
よつて、レポートをプレビューモードで一度立ち上げてから、このメソッドを実行します。単に、フォーム上でPrint Out メソッドを実行すると、そのフォームが印刷されますのでご注意下さい。

コンボボックスのフォーカス取得時イベントプロシージャの作成

コンボボックスのフォーカス取得時イベントプロシージャを作成します。

Private Sub cmb部数_Enter()

    Me.cmb部数.Dropdown ' --- A

End Sub

解説

  1. Dropdownメソッドで、コンボボックスにフォーカスが移動すると自動的にコンボボックスの内容が一覧表示されます。
今回のおすすめポイント

SendKeysステートメント

コンボボックスの内容を一覧を表示する機能は、FunctionキーのF4を押すことで実現できます。 また、VBAで下記のように記述することもできます。

Private Sub cmb部数_Enter()

    SendKeys "{f4}", False ' --- A

End Sub
  1. SendKeysステートメントを用いて、ファンクションキーF4と同じアクションを実現できます。

関連ページ

ページの先頭へ 前ページへ戻る

 


売上げリストの印刷部数をコンボボックスで指定する : Access裏技Tips


 

-Microsoft Access Club-

cPanel あるいは PLESKコントロールパネルをインストールした専用レンタルサーバのディスカウントプランを期間限定で公開しています。
cPanel・PLESKコントロールパネルを備えた専用レンタルサーバ....。