• ベストアンサー

Access2002で困ってます。

アクセスのフォーム画面に”レポートの印刷”の コマンドボタンを置いたのですが、印刷を実行すると、 全てのデータが印刷されてしまいます。 そのため、1枚だけ指定して印刷したい場合は レポート画面を開き、ファイル→印刷→ページ指定の手順で印刷してるのですが、指定したページだけを印刷するコマンドボタンは作れないのでしょうか? 説明が解り難いかもしれませんがよろしくお願いします。

noname#3615
noname#3615

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

  • ベストアンサー
noname#4564
noname#4564
回答No.4

  > コマンドを実行時に、#1の方が答えられているように #1は、私ですが?(^^; > 印刷ダイアログを開ければ、そこからページ指定できる > ので、そのようにしたいのですが。 繰り返しになりますが、「ページ数を指定して印刷」する、という機能は、 どのページに何が記載 されているかが把握できていなければ、便利では ありませんし、意味がありません。 (「3丁目の鈴木さん」の伝票を印刷するときに、それが5ページなのか、10 ページなのかがわからなければ、印刷条件を事前に指定できない、という 意味です) どうしてもこだわるのなら、直接の印刷はせず、一度プレビューを開いてから でないと印刷できないようにしてみてはどうですか? それなら、No.1に書いた方法で簡単にできます。  

noname#3615
質問者

お礼

単純なことを忘れてました。 コマンドボタンを作るときに、レポートのプレビューで 作れば指定したレポートの印刷プレビューが見れるんですね。 これでも十分なのですが、さらにフォーム画面で現在表示されている顧客物件のプレビューだけを出したい場合 どうするか・・ということなんです(泣)

noname#3615
質問者

補足

nanashinogombeiさん、再度ありがとうございます。 気づかず・・・すみませんm(__)m アクセスもまだまだ初心者ですのでお手数おかけします フォーム画面でコマンドボタンを作る(仮にコマンドボタン209)→出来たボタンを 右クリック→イベントのビルドと進むと、 Private Sub コマンド209_Click() On Error GoTo Err_コマンド209_Click Dim stDocName As String stDocName = ChrW(48) & ChrW(51) & ChrW(32202) & ChrW(24613) & ChrW(-28637) & ChrW(32097) & ChrW(20808) & ChrW(19968) & ChrW(-30297) & ChrW(-30616) & ChrW(40) & ChrW(27996) & ChrW(26494) & ChrW(41) DoCmd.OpenReport stDocName, acNormal Exit_コマンド209_Click: Exit Sub Err_コマンド209_Click: MsgBox Err.Description Resume Exit_コマンド209_Click End Sub の画面が出てきます。 ここで編集すればプレビュー画面が出るように出来るわけですか? ちなみに、顧客データはIDで管理してるので、IDで呼び出せることが出来ればいいのですが。

その他の回答 (3)

noname#4564
noname#4564
回答No.3

  別の観点から補足です。 「ページ数を指定して印刷」する、というのはどのページに何が記載 されているか把握できていないと意味がない訳で、プレビュー表示後 の印刷であれば、便利であり、それなりの意義がありますが、印刷 イメージを開く前の指定条件としては実用的とは言えません。 それよりは、データ抽出条件 ( ア行~カ行、○月×日~△日、など ) を指定して印刷できる方が現実的な機能だと思います。  

noname#3615
質問者

補足

ありがとうございます。 なかなか難しいです・・ 印刷ダイアログを開ければいいのですが。 フォームで顧客データをまとめて管理して、レポートでは その中から必要なデータを印刷するようにしています。 例えば、顧客データが100件あると、フォームの「レポートの印刷」のコマンドボタンを実行すると100枚出てしまうわけです。 コマンドを実行時に、#1の方が答えられているように 印刷ダイアログを開ければ、そこからページ指定できる ので、そのようにしたいのですが。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

フォーム画面から”レポートの印刷”のボタンをクリックして出力する際に抽出条件を付けるようにすれば良いのでは。 そのレポートがレコードソースにクエリを使っていればそのクエリにキーになるフィールドに抽出条件を入れるようにすれば任意のキーを元にレポートを出力できますので必要なページの出力ができます。

noname#3615
質問者

補足

ありがとうございます。 現在悪戦苦闘しながらやってます。。

noname#4564
noname#4564
回答No.1

  > レポート画面を開き、ファイル→印刷→ページ指定の手順で印刷してる > のですが、指定したページだけを印刷するコマンドボタンは作れないの > でしょうか? むずかしいAPI等を使わなくとも、DoCmd.RunCommand acCmdPrint メソッド を使用すれば印刷ダイアログを開くことは可能です。 この方法では、現在アクティブなWindowが印刷されますので、プレビュー からの印刷でなければ自然なユーザインターフェイスになりません。 データベースウィンドウを非表示にしている場合は、指定したページ範囲 でレポートのレコードソースまたはWhereConditionを書き換えるロジック を書くのがよいと思います。 定型的な印刷帳票で、例えば1ページに必ず10レコード印刷されると形が決 まっているような場合、ページ数からSQLの指定条件を逆算することができ ます。 ただし、不定形で変則的な帳票の場合、この方法での対応はむずかしくなり ます。  

noname#3615
質問者

補足

ありがとうございます。 現在悪戦苦闘しながらやってます。。

関連するQ&A

  • Accessで今記入されたデータ―をすぐにレポートで印刷したいのですが

    よろしくお願いします。Win98でAccess2000を使用しています。 毎日提出する売上日報を作っていますが、パソコンに不慣れな人でも使えるようにしたいと思っています。 その日の売上データ―をフォームから記入し、クエリを通して集計や細かな計算をさせた物をレポート化することまでは出来ています。 ただ、フォーム上にコマンドボタンをつくり、それでマクロを実行させたいのですが、レポートを開かせて印刷まではできました。 ただ、最後の(つまり今、フォームに記入したばかりの)データ―をだけを印刷させたいのですが最後のデータを [Forms]![売上データ―]![ID]=[Reports]![売上日報]![ID] のようにIDでページ指定をすると、印刷されたレポート内のデータが白紙になります。 記入されたページを指定しないと、すべてのレポートが印刷されてしまいます。 今フォームに記入されたデータをフォーム上のコマンドボタンからレポートで印刷させるには、どのようにしたら良いのでしょうか?

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

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

  • Accessのコマンドボタンについて

    Access97を使用しています。 Accessのレポート(単票形式)を作成したのですが、画面上のコマンドボタンをクリックしようとしてもカーソルが「虫眼鏡マーク」のままで作動しません。 超初心者なので「フォーム」と「レポート」の区別が今一つ付いていないのですが、「レポート」上ではコマンドボタンは使えないのでしょうか? やりたいことは、 (1) コマンドボタンを押すと、入力用フォームから該当するレコードの単票形式レポートが出力されるよう、設定したい(いちいち該当ページ番号を指定して印刷するのが面倒なので)。 (2) コマンドボタンを押すと、該当するレコードの入力用フォームと単票レポートとの間を行ったり来たり出来るようにしたい(修正・追記が多いので)。 現在は、入力用と出力用の2つの「フォーム」を作成してデータの行き来をしているのですが、レイアウトが違うだけでデータソース自体は全く同じなので、何となく間が抜けている気がするのです。メモリも食いそうだし。 初歩的な質問で申し訳ありませんが、宜しくお願いします。

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

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

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

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

  • レポート印刷

    アクセス2000使用ですが、フォームで表示されている情報だけをコマンドボタンでレポート印刷するためにはどうすればいいのか教えてください。印刷ダイアログでページの指定をするのではなく、ボタンで一発印刷ができるといいんですが。

  • AccessでExcelシートを印刷

    Accessで例えばフォームのコマンドボタンを押したら指定のExcelファイルのシートを印刷するような事はできるのでしょうか?

  • OFFICE アクセスのマクロで教えてください。

    アクセスについて、超初心者です。 アクセスのフォームに商品a、b・・それについてのそれぞれデータA、Bがあるとします。 表示したフォームに印刷ボタンをつけて、そのボタンに 各データA、Bをファイル名にもつレポートを印刷するマクロを作りたいのですが、 どうしたらよいでしょうか? マクロかVBAで、どのようにしたら、よいでしょうか?

  • アクセス2000のデータをWord2000で印刷

    お世話になります。 アクセス2000に蓄えたデータをWordで(差し込み)印刷する方法は実行できるのですが、それをフォームで作成したコマンドボタンで実行するにはどうすればよいのでしょうか? アクセス初心者です。どうか、よろしくお願い致します。

  • VBからアクセスを実行したい!

    アクセスで作ったフォームやレポートなどをVBから実行したいのですが、方法がわかりません。たとえばVBでフォーム上にボタンを作り、クリックするとレポートを印刷したり・・・・ よろしくお願いします。

専門家に質問してみよう