ACCESSのマクロで特定のレポートを印刷・保存する方法

このQ&Aのポイント
  • ACCESS2000のマクロを使用して、特定のレポートを印刷・保存する方法についてお尋ねします。
  • 問題なく動作する状態では、指定した条件でフォームからレポートを開き、印刷プレビューで表示してから指定のフォルダに保存することができます。
  • しかし、ビューを「印刷」に変更すると、印刷中のダイアログボックスが表示され、すべてのレコードが表示されるまで保存されません。このため、印刷にかかる時間が長くなります。なぜこのような現象が起きるのか解決策をご存知の方がいらしたら教えてください。
回答を見る
  • ベストアンサー

ACCESSのマクロで特定のレポートを印刷・保存したいが・・・

ACCESS2000のマクロについてお尋ねします。 フォームから特定のレポートを印刷し、同時に指定したフォルダに保存するマクロを作っています。 アクション:レポートを開く  レポート名:R_報告書  ビュー:印刷プレビュー  Where条件:[Forms]![フォーム名]![コントロール名]=[レポートのコントロール名] アクション:出力  オブジェクトの種類:レポート  オブジェクト名:R_報告書  出力ファイル形式:Snapshot Format  出力ファイル:(保存先フォルダへのパスとファイル名)  自動起動:いいえ この状態だと問題なくうまくいくのですが、ビューを「印刷プレビュー」から「印刷」にすると 「印刷中」のダイアログボックスが出て「R_報告書を印刷中です」と表示され、カウンターがクルクル回り始め、1からテーブルに保存されているレコード数をすべて表示し終えるまで「保存」されません。 現在2000以上のレコードが入っているのでかなりの時間がかかります。 一体「印刷プレビュー」を「印刷」にするだけでなぜこんなことになるのでしょう? 一週間以上さまざまなことを試してみましたがお手上げです。 ご存知の方がいらしたらよろしくお願いします。

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

  • ベストアンサー
  • nackfive
  • ベストアンサー率32% (21/64)
回答No.2

マクロの出力のアクションだと 抽出条件の パラメータが無いので 全件出力になってしまいますので レポートの元になるクエリーに [Forms]![フォーム名]![コントロール名] を記述しておけば良いと思います

ohdorry
質問者

お礼

あ、あ、ありがとうございました!!できました!! 1週間も悩んでいたのにあまりにあっけなくて気が抜けました(笑) >[Forms]![フォーム名]![コントロール名]を記述しておけば良いと思います こんな簡単なことだったんですね。でもまったく思いつきませんでした。 (ACCESSはやっぱりむずかしいですね~) おかげでやっと思い通りのデータベースが完成しました。 本当にありがとうございました。

その他の回答 (1)

  • nackfive
  • ベストアンサー率32% (21/64)
回答No.1

印刷するなら アクション:レポートを開く  レポート名:R_報告書  ビュー:印刷 ←ココ  Where条件:[Forms]![フォーム名]![コントロール名]=[レポートのコントロール名] ビューを印刷にすれば良いと思いますが? それは ダメなんですか?

ohdorry
質問者

補足

さっそくありがとうございました。 はい、たしかに印刷するだけならご指摘のとおりでいいのですが(ビューを「印刷」でもうまくいきます) 同時に指定したフォルダに保存するため「出力アクション」を追加すると、「カウンタくるくる状態」になるのです。

関連するQ&A

  • access97のレポートを複数枚印刷設定する方法

    access97にて、フォームに作成した印刷ボタンを押すとレポートが印刷されるようマクロを作成いたしました。 印刷を振り分けるシステムと繋げて数台のプリンターで出す様にする為、 規定枚数印刷するようにマクロを変えたいのですが、どのようにすればよいでしょうか? 今は 閉じる(オブジェクトの種類:フォーム、オブジェクト名:フォーム1、オブジェクトの保存:確認) レポートを開く(レポート名:レポート1、ビュー:印刷、フィルタ名とWhere条件式の部分は空欄) フォームを開く(フォーム名:フォーム1、ビュー:フォームビュー、ウィンドウモード:標準、Where条件式とデータモードの部分は空欄) 最大化 というように作成しました。 印刷マクロを繰り返しても、2枚と認識せず1枚×2で認識し振り分けできないようなのです。 どなたかお解りの方ご回答お願いいたします。 かなり初心者のため出来るだけ具体的にご回答いただけると助かります。

  • アクセスで特定のレコードのみのレポートを印刷したいのですが。

    アクセス2003である特定のレコードのみのレポートを印刷したいと思っています。現在開いているフォームのレコードのみを印刷(レポートとして)印刷するには、ファイル→印刷→ページ指定で現在印刷しているのですが、他に方法はないでしょうか?単に「レポートの印刷」とすると全てのレコードが印刷されてしまいます。今のところ特定のレコードのみ印刷するには、まずページ数を調べなければいけないので不便です。せっかくパラメータクエリなどで、そのレコードのフォーム画面を表示させても、レポート印刷につながらないので、どなたか良い方法を教えていただけないでしょうか?よろしくお願いいたします。

  • アクセス2000でレポート印刷

    アクセス2000でレポート印刷 レポートを印刷するとき、フォームで表示しているレコードだけを印刷したいのですが・・・ フォーム上でコマンドボタンを作ってレポートを印刷すると、関連するレコードが全て印刷されてしまいます。 フォームでレコードを指定して、そのレコードだけを印刷・・・ 教えてください!!!!

  • Accessのレポート印刷について教えて下さい。

    Accessのフォームでフィルタを使い絞り込んだデータをレポートで 印刷する場合について教えて下さい。 DoCmd.OpenReport "レポート名", acViewPreview, , Me.Filter では、フォームとレポートが同じレコードソースだと使えるという事ですが、 フォームとレポートのレコードソースが別の場合はどのようにすると フィルタで絞り込んだ条件のレポートを印刷できますか? 教えて下さい。よろしくお願いします。

  • ACCESS 指定レコードのレポート印刷

    OKWaveでも他の方が質問していますが、同様な対応をしても、どうも正常動作しません。 内容:1.フォーム作成完了 → 2.レポート作成完了 → 3.現在フォームに表示されているレコードを(2)で作成したレポート形式で印刷(プレビュー)をしたい。 レポート名:看板 フォーム名:管理    フォーム画面上には ID を表示させています。 テーブル名:管理TBL 管理TBLには ID というフィールドはあります。 実施内容:下記内容を印刷コマンドボタンのイベントプロシジャーに記述。 Private Sub report_Click() Dim stDocName As String   DoCmd.OpenReport "看板", acViewPreview, , "[ID]=" & [Forms]![管理]![ID] End Sub 例えば、レコード3のフォーム上で上記内容のコマンドボタンをクリックすると、IDのパラメータのポップアップが表示され3を入力後、看板のレポートプレビューが表示されますが、固定データのみ表示されているレポートで当該レコードの内容が反映されたレポートが表示されません。 レコード1のフォーム上で実施したら、IDパラメータポップに1を入れると全レコードのレポートがプレビューされます。 どうしたら、カレントレコードの内容のみを反映したレポートをプレビューさせることができるのでしょうか、ご教授下さい。また IDパラメータポップアップも表示させたくありません。

  • Access2007レポート特定レコードのPdf化

    Access2007を使用して台帳管理を行っています。 その際にレポートをPdf化して電子保存を行っていますが、いちいちメニューからレコード指定しでファイル出力するのが煩雑なのでVBAを勉強して自動化しようと思っています。 実装したい機能はフォーム上に配置されたボタンを押したら、そのIDのレポート(PDFファイル)が指定のフォルダに保存されるものです。 初心者なりにいろいろ調べて下記のコードに行きついたのですがうまくID選択されません(全レコード保存される)。 ご教授お願いします。 Sub Pdf作成() DoCmd.OpenReport "レポート名", acViewPreview, , "ID=" & Me!ID DoCmd.OutputTo acOutputReport, "レポート名", acFormatPDF, "保存path&ファイル名.pdf" End Sub

  • Access2007での印刷プレビュー

    Access2007を使用しておりますが、レポートの印刷プレビュー画面が 表示されません。 作成したレポートのプロパティでは、既定のビューを印刷プレビューに してあります。 すべてのAccsessオブジェクト内にあるレポートを直接開くときには、 印刷プレビューで表示されるのですが、"Switchboard"を用いてその レポートを開こうとすると、レポートビューになってしまいます。 いろいろ試したのですが、印刷プレビューが表示されずお手上げ状態です。 お手数ですがご教授ください。

  • accessのレポートについて教えてください。

    こんにちは。 今、アクセスにてフォームを印刷するためのレポートの編集をしています。何件か登録して、そろそろ印刷してみようかなぁと思っていてプレビューを作成しましたが、そこで困ったことに気がつきました。 それは、フォームに登録したレポートが現在6件あるのですが、 6件目の途中のレコードでページが変わってしまい、2ページ目の始まりがとても中途半端な感じがしてしまいます。 そこで質問ですが、 アクセスのレポート作成の際に、途中の項目でページ変更しないように設定する事はできますか? VBとかモジュールとかマクロとかは使用した経験がほとんどない初心者です。 どうか、よい方法を教えてください。

  • アクセス2010 マクロ 印刷ダイアログを表示

    アクセス2010でテーブルに連結した取引台帳を入力フォームがあります。 そのフォームで入力後、コマンドボタンで印刷を実行します。 コマンドボタンには、マクロで レポートを開く レポート名 請求書発行レポート ビュー 印刷 フィルター名 なし Where条件式 =[契約NO]=[Forms]![取引台帳入力フォーム]![契約NO] ウィンドウモード 標準 と、開いているフォームのページがレポート印刷されるようにしました。 ですが、モノクロ・カラー印刷と印刷の都度設定したいので、印刷が実行される前に 印刷ダイアログを表示させたいのです。 この方法を、どうぞ教えていただきたくお願いいたします。

  • Access2002レポートについて困ってます。

    現在データベース作成中です。フォームにコマンドボタンで印刷されるようにしたいのですが、現在開いているレコードのみを印刷してほしいのですが、方法がわからなく困っています。マクロで、Where条件などで式を入れるのでしょうが素人なものでまったくわからないんです。印刷プレビューで確認して、ページ指定での印刷はできるのですが、手間を省くためにボタンひとつで現在のレコードが印刷させるようにするにはどうのようにすればよいでしょうか?ご指導のほうよろしくお願いいたします。

専門家に質問してみよう