• ベストアンサー

Accessのレポートで再読み込み

フォームにあるデータを入力し、そのデータをレポートに表示したいのですが、ただ指定しただけでは表示されませんでしたが、 レポートを一度デザインビューにし、その後再度プレビューにしたら表示されました。 これをコードでかくにはどうしたらいいでしょうか? Docmd.Requery としたら「再クエリは無効です」と出ました。 フォームの値をレポートに移すのは Reports![R_マスタ_一覧]![検索条件] = Kensaku Me![検索条件].Value = Kensaku どちらも試しましたが、表示されませんでした。

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

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

レポートの [検索条件] がレポートヘッダーにあるのなら、 レポートヘッダーの印刷時イベントで Me.[検索条件] = Kensaku のようにしてみてください。 ページヘッダーだと、なぜかうまくいかないようです。(なんなんでしょね・・・)

w-inty
質問者

お礼

回答ありがとうございます。 ページヘッダーにあったのでレポートヘッダーに移動しました。 >レポートヘッダーの印刷時イベントで 印刷時ではなく、レポートを表示した時点で、検索条件を表示したいのですが無理なのでしょうか? フォームの検索実行ボタンのイベントにたしてみたりもしましたが、表示されません。

w-inty
質問者

補足

ちょっとずるいですが、 検索フォームのところに「検索条件」というフィールドを作成。(見えないようにする) レポートの検索条件を表示したいところに Forms![検索条件入力]![検索条件] として、とりあえず表示はさせることができました。 でもどうも納得行かないので、「とりあえず」の策とします…(^^;

その他の回答 (3)

回答No.4

ちょっと補足 >>レポートヘッダーの印刷時イベントで >印刷時ではなく、レポートを表示した時点で、 >検索条件を表示したいのですが無理なのでしょうか? 印刷時イベントって、実際にはプレビューで画面表示するときにも起きますので。

w-inty
質問者

お礼

回答ありがとうございます。 >印刷時イベントって、実際にはプレビューで画面表示するときにも起きますので。 そうなんですか?知りませんでした。 試してみます。 ありがとうございました。

w-inty
質問者

補足

無事できました! ありがとうございました!!

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

No.1です。 レポートはどのように開いていますか? DoCmdオブジェクトのOpenReportメソッドで開いているのなら、 第4引数に、検索条件文字列(SQLのWHERE句に相当する文字列)を指定すればいいと思います。 ん? >レポートで検索条件を表示させたくて、 検索して抽出した結果ではなく、検索条件そのものですか? それなら、記述するイベントは、詳細_Formatイベントだと思います。 でも、これだと全部のレコードにいちいち検索条件が表示されますが。 レポートのOpenイベントで、ヘッダーに表示した方がいいような気がしますが。

w-inty
質問者

お礼

回答ありがとうございます。 レポートを開くコードは : : WhereCond = Mid(WhereCond, strCount + 1) DoCmd.OpenReport "R_マスタ_一覧", acPreview, , WhereCond となってます。 >検索して抽出した結果ではなく、検索条件そのものですか? 両方です。 検索条件=【*******】 名前1 名前2 名前3   :   : という感じにしたいんです。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 フォームは、テーブルと連結していますか? 連結しているのなら、そのテーブルをレポートのレコードソースに指定しておけばいいのでは? フォームに入力したばかりのデータは、保存されていないかも知れないので、その場合は、レポートを開く前に、 DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 を入れて、保存しましょう。

w-inty
質問者

お礼

回答ありがとうございます。 フォームはテーブルデータから検索して抽出するための検索フォームです。 ですので連結はしていません。(レポートはテーブルと連結していますが) フォームで検索条件を入力→レポートで結果を表示、というときにレポートで検索条件を表示させたくて、 Private Sub Report_Page() Me![検索条件].Value = Kensaku とし、実行すると、レポートの1ページ目には表示されませんが、2ページ目以降にはきちんと表示されるんです。

関連するQ&A