• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:帳票フォームの全件のレポート出力)

帳票フォームの全件のレポート出力方法

このQ&Aのポイント
  • Access Version 2007のOS:XPで、帳票フォームに表示されている複数抽出のレコードを全件レポート出力する方法を教えてください。
  • 質問者は、帳票フォームに抽出されたレコードが表示されているが、その複数抽出のレコードすべてをレポート出力したいが方法がわからないとのことです。質問者の抽出条件コードも提供されています。
  • 具体的な抽出条件として、年度と営業担当のテキストボックスが存在し、それぞれの条件に合致するレコードのみを抽出しています。質問者は、レコードソースを書き換えて再クエリして全件のレポートを出力したいと考えています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

フォームヘッダーかフッターにコマンドボタン(btnPreview)を配置して、 コマンドボタンのクリック時のイベントプロシージャに Private Sub btnPreview_Click() Dim strFilter As String strFilter = Me.RecordSource strFilter = Mid(strFilter, InStr(strFilter, " WHERE ") + 7) DoCmd.OpenReport "レポート名", acViewPreview, , stFilter End Sub でどうですか。 あと、抽出ボタンで RecordSource を書きかえてますが、 Filterプロパティを設定する方がシンプルになります。 コード例 Private Sub btnSearch_Click() Dim strWhere As String Dim strAndOr As String strWhere = vbNullString If Me.optAndOr.Value = cAnd Then strAndOr = " AND " Else strAndOr = " OR " End If If Me.txtYear.Value <> vbNullString Then strWhere = strWhere & strAndOr & " 年度 LIKE '*" & Me.txtYear.Value & "*'" End If If Me.txtName.Value <> vbNullString Then strWhere = strWhere & strAndOr & " 営業担当 LIKE '*" & Me.txtName.Value & "*'" End If 'WHERE句編集 strWhere = Replace(strWhere, strAndOr, "", , 1) 'レコードソース書き換えと再クエリ Me.Filter = strWhere Me.FilterOn = True End Sub Private Sub btnPreview_Click() DoCmd.OpenReport "レポート名", acViewPreview, , Me.Filter End Sub

その他の回答 (1)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

レポートには必要なコントロールを設定しておいて、 'レコードソース書き換えと再クエリ Me.RecordSource = cBaseQuery & " " & strWhere の右の cBaseQuery & " " & strWhere でクエリ を設定し、これをレポートのフォーマット時に レポートのレコードソースにすればいいのでは と思いますが。

関連するQ&A