Microsoft Access Club >SampleFile Q & A >インデックス >このページ >次頁 < 前項  サイト内検索


Q&A-015 Filter抽出とレポート印刷の一例



タイトル : 抽出後の印刷
記事No : 7430
投稿日 : 2003/05/17(Sat) 00:35
投稿者 : のり

OS:Me
Access Version:2000

顧客管理を作成しています。
メインフォームのオプショングループにトグルボタンを配置し、サブフォームにあ行・か行・・・・・と50音別に抽出しています。(VBAです。)
抽出後、抽出された人たちのみを印刷したい場合は、どうすればいいのでしょうか。マクロにWhrer条件式を設定するのでしょうか??マクロで、レポートを開くにすると、全員が印刷されますよね。

・メインに〔印刷〕ボタンを作成し、マクロを設定しようと思っています。
・メインフォーム名は「顧客一覧」です。
・サブフォーム名は「顧客一覧サブ」で、データソース名は「顧客情報」です。
・レポート名は「顧客一覧表」です。


> メインフォームのオプショングループにトグルボタンを配置し、サブフォームにあ行・か行・・・・・と50音別に抽出しています。(VBAです。)

下記のようなフォーム画面になりますか。

 

 

右側のオプショングループの更新後処理イベントには、下記のプロシージャを記述しています。

 

Option Compare Database
Option Explicit

Dim varfilter As Variant  'フィルタの値を取得する変数を定義。
Private Sub fra選択_AfterUpdate()

    Select Case Me!fra選択.Value

        Case 1  'あ行
            varfilter = "ふりがな Like '[あ-お]*'"
        Case 2  'か行
            varfilter = "ふりがな Like '[か-こ]*'"
        Case 3  'さ行
            varfilter = "ふりがな Like '[さ-そ]*'"
        Case 4  'た行
            varfilter = "ふりがな Like '[た-と]*'"
        Case 5  'な行
            varfilter = "ふりがな Like '[な-の]*'"
        Case 6  'は行
            varfilter = "ふりがな Like '[は-ほ]*'"
        Case 7  'ま行
            varfilter = "ふりがな Like '[ま-も]*'"
        Case 8  'や行
            varfilter = "ふりがな Like '[や-よ]*'"
        Case 9  'ら行
            varfilter = "ふりがな Like '[ら-ろ]*'"
        Case 10  'わ行
            varfilter = "ふりがな Like '[わ-ん]*'"
        Case 11  'ALL
            varfilter = ""
        
    End Select
    
    Me.objサブ.Form.Filter = varfilter

    'フィルタを実行する。
    Me.objサブ.Form.FilterOn = True
    
End Sub

 

これらは、"あいまい検索"と呼ばれているものです。Filterの実行には、必ず

FilterOn = True

を実行する必要があります。

 

このフィルターで抽出したデータをレポートに表示させる方法は下記のように、引数にこのFilterプロパティ値を配置するだけでOKです。#コマンドボタン(名:cmd印刷)のクリック時イベントに記述します。

 

Private Sub cmd印刷_Click()

    Dim stDocName As String
    stDocName = "rpt_main"
    
    'フィルタの値をWhere条件としてフォームを開く。
    DoCmd.OpenReport stDocName, acPreview, , varfilter

End Sub

 

 

 

2003/05/19


Q&A-015 Filter抽出とレポート印刷の一例


 

-Microsoft Access Club-