こんにちは。
現在アクセスにて、複数あるレポートを一つにまとめれないか挑戦中です。
現在の作業手順は以下になります。
1.見積書を選択する→見積書のフォームが表示される
2.見積書のフォームにある印刷ボタンをクリック→見積書の表紙がプレビューされる→表紙を印刷
3.見積書のフォームになり、各項目の「開」ボタンをクリック→各項目の明細のフォームに移行
4.明細のフォームにある印刷ボタンをクリック→該当項目の明細がプレビューされる→印刷
5.見積書に記載されている項目の数だけ3.~4.を繰り返す
この作業を表紙のフォームのボタン一つで出来ないでしょうか?もちろんボタンは新規で作ります。
項目が少なければなんてことないのですが、項目が多くなると今どこまで印刷が終わったのかわからなくなって、同じ明細を2回印刷してしまったり、最悪なのは項目を一つ飛ばして印刷してしまったりと、効率悪い上に重大なミスに繋がります。
色々調べながら試してみましたが、また挫折しそうで、質問しました。
現在あるのは見積書の表紙のレポートと明細のレポートです。
新規に一括印刷用のレポートを作成し、その詳細部分に既存の表紙レポートと明細レポートをサブレポートとして組み込むということをやってみました。
かなり惜しかったのですが、以下の問題が発生しました。
①表紙は問題なく反映されるのですが、明細が全然関係のない明細になってしまう。というより、明細として記録されているデータを全て反映してしまう。
②明細レポート側のレポートヘッダーが明細の2ページ目以降消えてしまう。
現在の仕組みとしては、表紙は見積書のフォ-ムからIDを引っ張ってきており、明細は見積書のサブフォームからID(表紙とは別のID)を引っ張っています。なので、既存のクエリをコピペしていじれば行けそうな気がするのですが、②の問題に関してはどうしようもなさそうな気がしています。
だとすると、全く別の一括印刷用のレポートを作るしかありませんか?
そうであれば、表紙と明細という、デザインの異なる、しかも共にヘッダー・詳細・フッターを必要とする場合どのように作成したら良いのでしょうか?
どなたかご教授いただければ助かります。
No.3ベストアンサー
- 回答日時:
ページヘッダーの部分は文字だけでは状況がよくわからないので
回答は控えさせていただきます。
レコードの抽出についてですが
レポートのレコードソースになっているクエリで条件を指定します。
フォームにIDがあるのであればクエリの抽出条件に
=[Forms]![メインフォーム名]![ID]
とすれば該当のIDのレコードのみになると思います。
http://oshiete.goo.ne.jp/qa/2114831.html
お返事遅れましてすみません。
アクセスの謎の仕様に相当苦労しましたが、何とか理想通りのレポートを作成できました。
明細レポートがレポートヘッダーを使用していなかったので、これと全く同じものを作り、レポートヘッダーに表紙レポートをサブレポートとして組み込み、クエリを作成し、
・表紙だけの印刷
・明細だけの印刷
・表紙の後ろに明細が続く印刷
が全て可能となりました。
2つのレポートの合成という点で似たような悩みを持つ人は多いはずなのですが、意外と情報は少ないものですね。
ご回答ありがとうございました。
No.2
- 回答日時:
>①表紙は問題なく反映されるのですが、明細が全然関係のない明細になってしまう。
というより、明細として記録されているデータを全て反映してしまう。明細の抽出がされていないのでは?
対象のデータだけ抽出するように条件を指定すればいいと思います。
>②明細レポート側のレポートヘッダーが明細の2ページ目以降消えてしまう。
レポートヘッダーは各ページには印刷されません。
ページヘッダーで対応してみては?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- Excel(エクセル) エクセルの罫線が印刷できない 4 2023/02/04 10:48
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- PDF 2つのPDFを重ねる方法はありますか? 4 2023/01/30 14:04
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
ACCESSの複数レポートの印刷について。
Access(アクセス)
-
AccessVBA複数レポート条件毎にまとめて出力
Visual Basic(VBA)
-
-
4
複数のクエリーを一枚のレポートに掲載する方法(アクセス)
Access(アクセス)
-
5
アクセスでレポートの1印刷内に複数のレコードを表示させたい
Visual Basic(VBA)
-
6
アクセスのレポートで同ページ内で2つ同じ内容を表示するには?
Access(アクセス)
-
7
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
8
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
9
アクセスにて複数のレポートの印刷順序設定?!
Access(アクセス)
-
10
サブレポートのレポートフッターが印刷されず困っています。
Access(アクセス)
-
11
ACCESS フォームで抽出したデータのみをレポートで表示したい
Access(アクセス)
-
12
Accessレポートの詳細の高さ(VBA)
Excel(エクセル)
-
13
アクセスのレポートを印刷すると白紙がでてきます。改ページついて教えてください。
その他(データベース)
-
14
アクセスのレポートのヘッダーを2ページ以降にもつけるには?
Access(アクセス)
-
15
Access サブフォームでの選択行の取得
その他(データベース)
-
16
Access_Formのデザインビュー画面を拡大表示
Access(アクセス)
-
17
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
18
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
19
Accessレポートで特定条件で改ページしたい
PowerPoint(パワーポイント)
-
20
アクセスのレポートでレコード数をカウントしたい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS フォームをそのまま印刷...
-
Accessのフォームで、画面表示...
-
Accessフォームからパラメータ...
-
ACCESS チェックしたも...
-
アクセスのフォーム画面の印刷...
-
アクセスのレポート合成(複数...
-
ボタン1つで1度に複数枚印刷す...
-
ACCESSのマクロで特定のレポー...
-
ACCESSの複数レポートの印刷に...
-
アクセルのレポートの2列の一...
-
ACCESSのレポートで、指定した...
-
★access2000★レポートを複数枚...
-
Access印刷範囲の設定(...
-
Accessのレポートで1レコード...
-
MS Access 印刷時に、印刷レコ...
-
YahooのIDがロックされてしまい...
-
データベースのINT型項目にNULL...
-
レコードを保存するコード ア...
-
passwordが入れられません・・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
ACCESS フォームをそのまま印刷...
-
アクセスのレポート合成(複数...
-
Accessフォームからパラメータ...
-
Accessのフォームで、画面表示...
-
ACCESSの複数レポートの印刷に...
-
ACCESSのレポートで、指定した...
-
アクセスのフォーム画面の印刷...
-
Access2013 レポートを印刷する...
-
アクセスで特定のレコードのみ...
-
ACCESS チェックしたも...
-
Accessのレポートで1レコード...
-
ボタン1つで1度に複数枚印刷す...
-
ACCESSのマクロで特定のレポー...
-
MS Access 印刷時に、印刷レコ...
-
Access 宛名ラベル レポートの...
-
アクセスで希望のレポートを1枚...
-
【Access】フォームのプロパテ...
-
Access レポート印刷時のイベン...
-
Accessのフォーム単票印刷で印...
おすすめ情報
ご回答ありがとうございます。
入力というのはデータの入力ですか?
であれば入力は全て済んでいる状態での話です。
以下、今使っているものの仕組みです。(作成者は前任者です。)
1.トップ画面のフォームにて『見積書新規作成』をクリック→見積書の作成画面のフォームに移行
2.見積書のフォームにはサブフォームがあって、そのサブフォームに内訳項目を入力→その内訳の詳細に移行する『開』ボタンが有効になる
3.『開』をクリック→その内訳項目の更なる内訳明細を入力するフォームに移行
4.明細のフォームにて内訳明細を入力
5.必要な分だけ2.~5.を繰り返す
つまり、表紙を作るフォームと明細を作るフォームがあり、印刷する際はそれぞれのフォームからそれぞれのレポートを呼び出して印刷している状況です。
その異なるレポートをどうにかして一つにまとめられないかという内容の質問でした。
わかりにくくてすみません。
ご回答ありがとうございます。
そうなんです、抽出ができないのです。
普段明細の抽出を単体で行うときは、
DoCmd.OpenReport "R_見積書明細", acPreview, , stCrteria
というコードを使っています。
stCrteriaは"ID=2019"のような抽出に必要な値が代入されます。
これは全然問題なく動きます。
これを見積書のフォームでやろう一括印刷がしたいので、一括印刷用のコマンドボタンを作り、一括印刷用の親レポートを作成し、そのサブレポートとして既存のR_見積書表紙とR_見積書明細というレポートをドロップダウンしました。
すると、このレポートを開くためには、
DoCmd.OpenReport "R_見積書一括印刷", acPreview
となるため、上記のような明細の抽出ができなくなります。
(長くなるため次の補足に続きます。)
y504様のNo.2のご回答に対する細くの続きになります。
そこで、もともと表紙で使っていたクエリをコピペして一括印刷用のクエリを作り、必要なIDを拾い上げるようにすればうまく行くかもしれないと思いましたので、それはこれから試してみます。
この状態での明細レポートのコントロールにIDを代入する方法がわかりませんでした。
もしご存知でしたら教えてください。
さらに、ページヘッダーにて対応するという話ですが、すでにある二つのレポートを組み込んだレポートですので、ページヘッダーに明細レポートを設定すると表紙と明細の順番が逆になるのと、表紙がうまく表示されないのではと思ったのですが、そういう意味ではなかったですか?
以上の理由から一括印刷用のレポートは詳細の部分しか使用していません。
うまく伝えられなくてすみません。