Google検索

リンクユニット

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

クリック時イベント

これで実行してみてください。

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

メッセージウィンドウ

おすすめ記事と広告

-Windows8 & Office2013 Access2013

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

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