重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

フォームフィルターでデータを抽出した後,抽出されたデータのみをレポート上に表示させるコマンドボタンをフォーム上に作っています。
下記のコードを作成しましたが,これだと抽出前の全部のデータが表示されてしまいます。
どうしたら良いでしょうか。

Private Sub ラベルプレビュー_Click()
Dim stDocName As String
DoCmd.Echo False,
stDocName = "rpt宛名ラベル"
DoCmd.OpenReport stDocName, acViewDesign
DoCmd.SelectObject acReport, stDocName, False '
Reports(stDocName).RecordSource = Me.RecordSource
DoCmd.OpenReport stDocName, acViewPreview
End Sub

A 回答 (3件)

Private Sub ラベルプレビュー_Click()


  Dim stDocName As String
  stDocName = "rpt宛名ラベル"
  If Me.FilterOn Then
    DoCmd.OpenReport stDocName, acViewPreview,,Me.Filter
  Else
    DoCmd.OpenReport stDocName, acViewPreview
  End If
End Sub
で、いかがでしょうか?
    • good
    • 0
この回答へのお礼

丁寧なご回答をありがとうございました。このとおりの記述をしたところ,できました!私のやり方では,よけいな記述をだらだらとしていたので,できなかったのでしょうか?また,質問の際には,よろしくお願いいたします。

お礼日時:2007/11/09 14:21

補足:



レポートで再フィルタするよりもネットワークトラフィックは混雑しないかと思います。

は、No1さんのやり方のことじゃないです。
No2とNo1は、実質的には同じだと思います。
    • good
    • 0

テーブル<Customer>



cuntomer_num__company_________kname_______zipcode__address1__address2__building__phone
______________101__スポーツランド__鈴木 一郎__150-_____東京都_____渋谷区____Aビル___(03)400-333
______________102__スポーツランド__岡島 一郎__150-____東京都_____渋谷区____Bビル__(03)400-444
______________103__スポーツランド__田中 一郎__150-_____東京都_____渋谷区____Cビル___(03)400-555

フォーム<Customer>

Private Sub コマンド_フィルタの実行_Click()
  Me.FilterOn = False
  Me.Filter = "kname Like '鈴木*'"
  Me.FilterOn = True
End Sub

Private Sub コマンド_レポートのプレビュー_Click()
On Error Resume Next
  Dim strSQL As String

  strSQL = "SELECT * FROM CUSTOMER"
  If Me.FilterOn Then
    strSQL = strSQL & " WHERE " & Me.Filter
  End If
  DoCmd.OpenReport "Customer", acPreview, , , , strSQL
End Sub

レポート<Customer>

Private Sub Report_Open(Cancel As Integer)
  Me.RecordSource = Me.OpenArgs
End Sub

ここでは、レポートのレコードソース情報をフォームのOpenArgs を利用して渡しています。
OpenArgs は、フォームフィルターを反映したSQL文。

これで、レポートにはフォームフィルタが反映されます。
レポートで再フィルタするよりもネットワークトラフィックは混雑しないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。私には,難しくて意味が良く分からないところがありますが,これからもよろしくお願いいたします。

お礼日時:2007/11/09 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています