リンクユニット

Windows8 & Office2013 Access2013

フォームのフィルター実行後のデータをレポートへ

投稿日:2017年6月18日 更新日:

Accessのフォームでフィルターを実行した後、そのフィルターのデータをそのままレポートへ出力する方法です。
フィルターで実行したデータをレポートへ出力

分割フォームの作成

テーブルやクエリを元に分割フォームを作成します。ここでは、クエリ[Q_売上]を元に分割フォームを作成しています。クエリ[Q_売上]を選択して、[作成]タブの[フォーム]グループにある[その他のフォーム]の▼ボタンをクリックします。その中にある[分割フォーム]をクリックします。

ポップヒントには以下のように記されています。注意ポップヒントの「上のセクション」は「下のセクション」、「下のセクション」は「上のセクション」の間違いだと思います。プロパティで上下を反対にすることはできますが、既定では下がデータシートビューとなっています。

分割フォームを作成します。分割フォームの上のセクションにはデータシートが表示され、下のセクションにはデータシートで選択したレコードの情報を入力するためのフォームが表示されます。

分割フォームを選択

分割フォームは、Access2007からの機能ですがフォームビューとデータシートビューを同時に表示できるので、とても便利です。分割フォームについては、以下の記事を参照してください。

分割フォームを作成する - Access(Microsoft)

Access2007の分割フォーム

分割フォームでは、データシートビューのプルダウンからフィルターをかけることができます。このフィルターで抽出したデータを、そのままレポートへ出力する方法を解説します。
プルダウンメニュー

レポートの作成

レポートは、フォームと同じレコードソースで作成しておきます。レポートの名前は[R_売上一覧]とします。
レポートの作成

レポートへ出力ボタンの作成

フィルター実行後、レポートへ出力するためのボタンを作成します。
フォームをデザインビューで開きます。[デザイン]タブにある[コントロールグループ]にある[ボタン]をクリックして、フォームヘッダーでドラッグしてボタンを作成します。ウィザードが表示されたら[キャンセル]ボタンをクリックして閉じます。
コマンドボタンの作成

コマンドボタンのプロパティを表示します。[すべて]タブをクリックして、コマンドボタンの名前と標題を入力します。
コマンドボタンの名前と標題を入力

[イベント]タブをクリックして、[クリック時]の[...]ボタンをクリックします。
クリック時イベント

[ビルダーの選択]ダイアログボックスが表示されたら、[コードビルダー]を選択して[OK]ボタンをクリックします。
ビルダーの選択

VBEが表示されたら、以下のように入力します。フィルターを実行していないときは、「先にフィルターを実行してください!」というメッセージボックスを表示して、それ以外は、レポート[R_売上一覧]のレポートプレビューとして出力します。参考印刷プレビューで表示したい場合は、[acViewPeport]を[acPreview]に変えてください。

If Me.FilterOn = False Then
MsgBox "先にフィルターを実行してください!"
Else
DoCmd.OpenReport "R_売上一覧", acViewReport, , Me.Filter
End If

クリック時イベントへ入力

 

フィルター解除ボタンの作成

もう一つフィルターを解除するためのボタンを作成します。

同じように[デザイン]タブにある[コントロールグループ]にある[ボタン]をクリックして、フォームヘッダーでドラッグしてボタンを作成します。ウィザードが表示されたら[キャンセル]ボタンをクリックして閉じます。
コマンドボタンのプロパティを表示します。[すべて]タブをクリックして、コマンドボタンの名前と標題を入力します。
フィルター解除ボタンの作成

[イベント]タブをクリックして、[クリック時]の[...]ボタンをクリックします。[ビルダーの選択]ダイアログボックスが表示されたら、[コードビルダー]を選択して[OK]ボタンをクリックします。今度は、以下のように入力します。

Me.FilterOn = False

クリック時イベント

これで実行してみてください。フィルターを実行していないときは、下のようにメッセージウィンドウが表示されます。
メッセージウィンドウ

おすすめ記事と広告

記事を更新しました

プレゼンテーションをMP4で保存、スライドにMP4を挿入

PowerPoint2013では、名前を付けて保存で[mp4]を選択して保存できるようになっています。これは、嬉しいですね。 [ビデオの挿入 ...

フォームのレコードを並べ替える

Accessの分割フォームをよく利用しています。フォームビューとデータシートビューが同時が表示され、Excelのフィルターと同じようにフィル ...

表の行にアニメーションを付ける

PowerPoint2013で下のように表の行ごとにアニメーションを付ける方法です。 Excelの表を確認 表はExcelで作成しています。 ...

1ページ目にはページ番号を挿入したくない

1ページ目(先頭ページ)は表紙としているので、ページ番号を挿入したくない場合の方法です。 Word2013での解説です。 [ヘッダー/フッタ ...

カタカナは全角で数字は半角にしたい

Excelでカタカナは全角で、数字は半角にしたいという場合があります。 たとえば、住所でマンション名のカタカナは全角のままで、番地や部屋番号 ...

-Windows8 & Office2013 Access2013

Copyright © 2001-2018 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2018 AllRights Reserved Powered by AFFINGER4.