• 締切済み

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

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

みんなの回答

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

訂正です。 No2の Private Sub コマンド1_Click() DoCmd.SelectObject acReport, "レポート1", acViewPreview, , "契約NO=" & Me!契約NO DoCmd.RunCommand acCmdPrint End Sub の、 >DoCmd.RunCommand acCmdPrint を SendKeys "%{F}{P}", True に変更してください。したがって、 Private Sub コマンド1_Click() DoCmd.SelectObject acReport, "レポート1", acViewPreview, , "契約NO=" & Me!契約NO SendKeys "%{F}{P}", True End Sub のようになります。あとはNo2に準じます。

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

No1です。No1の参照先ではVBAを使っているので、以下のように なります。 「取引台帳入力フォーム」のテキストボックスの名前が「契約NO」で、 かつレポートのソーステーブルのフィールド名も「契約NO」とします。 ボタンも「取引台帳入力フォーム」にあるものとします。 「契約NO」が数値型の場合は、 Private Sub コマンド1_Click() DoCmd.SelectObject acReport, "レポート1", acViewPreview, , "契約NO=" & Me!契約NO DoCmd.RunCommand acCmdPrint End Sub のように。もしテキスト型の場合は、 >DoCmd.SelectObject acReport, "レポート1", acViewPreview, , "契約NO=" & Me!契約NO を DoCmd.OpenReport "Rep1", acViewPreview, , "職業='" & Me!契約NO & "'" としてください。 もし、どうしてもマクロを使わなくてはならないのであれば、 設定しているマクロで、 「レポートを開く」 に続いて、 「キー送信」 を選択し、そのアクションの引数で、 キー操作  %{F}{P} 待機    いいえ に設定してください。

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

探せばいろいろありますが、以下では? http://www.accessclub.jp/samplefile/samplefile_99.htm 「印刷前に印刷 ダイアログ ボックス を開く方法」

関連するQ&A

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

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

  • access クエリコンボボックスについて

    フォームのメニュー画面でレポート印刷ボタンを作りました。 印刷ボタンを押すと[抽出する都道府県は?] とパラメーター入力が表示されるようにしてあるのですが、 それを入力式ではなく、コンボボックスにして選択式にしたいのですが、 どのようにすれば良いのでしょうか? コンボボックスにマクロをつけて クエリの抽出条件のところに[forms]![フォーム名]![コンボ名] を入力しても、実行したときになにも抽出されません。 なにがどのように違っているのでしょうか? 説明が分かりにくくて申し訳ないのですが、 わかる方いらっしゃいましたらぜひ教えていただきたいです。 よろしくお願いいたします。

  • ACCESS チェックしたものを 印刷したい

    ACCESS初心者です テーブルでデータ型をYES/NO型にし、様々な項目とともに、フォームで表示しています。 フォーム上に印刷ボタンコマンドを作成し、チェックしたもののみ印刷したいのですが、よく分かりません。 コマンドボタンを右クリックして、イベントのビルドを開けて・・・そこからどのように入力すればいいのでしょうか。 よろしくお願いします。

  • アクセス2010 サブフォーム集計結果を表示させる

    テーブルに連結したメインフォーム取引台帳があります。 メインフォームに、入金台帳と仕入金額予定表のサブフォームが2つあります。 それぞれのサブフォームにテキストボックスで合計を表示しています。 入金台帳が取引合計 仕入金額予定表が支払合計 この2つのそれぞれの合計をメインフォームの詳細にテキストボックスを追加して表示させ さらに集計するためのテキストボックス作って、下記の式を入れたら エラーが出てしまいます。 レポートではうまくできたのですが、計算結果を表示させる方法を教えてください。 原価率を表示したいのです。 =Sum([取引台帳レポートのサブ出金予定入力表].[Form]![支払合計]/[入金台帳入力用].[Form]![取引合計])

  • アクセス2010 ナンバーリングのコードについて

    アクセス2010で取引台帳テーブルに連結した入力フォームを作り、件名を入力すると契約NOを自動で採番するように 下記のコードにして使っていました。 しばらくはちゃんと採番されていたのですが、分類をする時に使う、 2個あった区分を3個に追加して、 コードも2個から3個に追加しました。それから変になった気がします。 契約NOの最大値+1だと前回作られたNOと重複するようになってしまい、 契約NO+2だと、最後の最大値の次のNOが作れます。 なぜ突然こうなったのかが分かりません。 VBのコードをきちんと学んだ事がなく、本でサンプルを見たりしながら作っています。 わかりやすく教えていただきたく、お願いいたします。 契約NOは R-KS1305-0055 Rが区分 KSがコード 1305が年月2013/05 0055が連番で採番しています。 Private Sub 物件名_AfterUpdate() Me![契約NO] = Me![区分] & "-" & Me![コード] & Format(Me![入力日], "yymm") & "-" & Format(DCount("契約NO", "取引台帳") + 1, "0000")

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

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

  • ACCESSで表示されているフォームだけをレポートに出したい

    アクセスで、入力したフォーム内容をすぐにレポートで印刷できるよう、コマンドボタン作成ウィザードで、レポートの操作→レポートのプレビューを行ったのですが、IDが1のものが表示されてしまいます。。 これを、表示されているフォームIDのものをプレビューさせることはできますでしょうか? 色々調べてみたのですが、分からなかったので。。 宜しくお願いします!

  • ACCESS97で単表フォーム上からレポート印刷をする。

    ACCESS97でマクロを使用しています。 単表フォーム上にコマンドボタン(レポートを開くマクロを使用し、単表フォームのIDを入力し印刷しています。)を配置しています。 レポートを印刷するのに、IDの入力を省略したい、どうすれば良いでしょうか。 マクロまたはVisual Basicでお願いします。

  • Access「レコードの移動」マクロについて

    表形式でフォームを作っています。 そして、コマンドボタンを使って、「レコードの移動」ができるように、マクロを使って アクション 「レコードの移動」 ---アクションの引数---- オブジェクトの種類---フォーム オブジェクト名-------問題 レコード-------------次のレコード オフセット-----------4 としています。(コマンドボタンを1回押すと、4件ごとに画面を動かしたい) しかし、 問題NO---------問題 1----------なん 2----------ああ 3----------なな 4----------ああ  □←これがコマンドボタン コマンドボタンに「クリック時」にマクロが実行できるように設定をして クリックすると 問題NO---------問題 2----------ああ 3----------なな 4----------ああ 5----------いい  □←これがコマンドボタン となってしまいます。そして再度コマンドボタンを押すと 9----------がが 10---------ss 11---------ff 12----------ああ  □←これがコマンドボタン ------------------------------------- になってしまいます。なので、オフセットを4から7に変えると 1回コマンドをクリックすると先頭にくる番号は「8」になったり・・・困りました。 で、フォームには1-4のレコードが表示されるようにし、コマンドボタンを1回押すと5-8、9-12と表示させたいのです。 とできれば、(全部で160行あるのですが)最終行のフォームが出てきて、コマンドボタンをクリックしてもマクロ実行エラーが出ないようにもしたいです。 よろしくお願いします。 Accsee2000 WIN98

  • ACCESSでフォーム入力→レポート出力したい

    ACCESSでフォーム入力→レポート出力したい OS:XP,ACCESS2000 フォームのテキストボックスに入力した文字をレポートのテキストボックスに表示したい。 フォーム: ファイル名は「フォーム1」で、その中に作ったテキストボックス名は「入力データ」 コマンドボタン名は「レポート出力」 レポート: ファイル名は「レポート1」で、その中に作ったテキストボックス名は「出力データ」 フォーム1とレポート1を立ち上げてフォームのテキストボックスにデータを入力した後、 コマンドボタンを押してもレポート1のテキストボックスに入力したデータが表示されません。 レポート1を選択した後にデザインボタンを押し、その後にもう一度立ち上げると、 なぜかデータが書き込まれています。 コマンドボタンを押したのと同時にレポート1にデータが表示されるようにするには どうすれば良いですか? プログラムは以下の様になっております。 (1)クラスオブジェクト下 Private Sub コマンドボタン_Click() Call レポート書き出し() End Sub (2)標準モジュール下 Public Function レポート書き出し() Dim F As Form Dim R As Report Set F = Forms![フォーム1] Set R = Reports![レポート1] R![出力データ] = F![入力データ] End Function

専門家に質問してみよう