Microsoft Access 掲示板

クエリからレポートをつくるときの作法

5 コメント
views
4 フォロー

テーブル1を元にしたクエリ1からレポートをつくるときに、
テーブル1のフィールドはレポートに配置できないようです
配置したい場合にはクエリ1に配置してからレポートに配置する方法でよいのですか?

レポートを作るときは複数のクエリやテーブルをごちゃまぜにしてつくるよりも
先に、レポートでつかうフィールドをすべて備えたクエリ(複数のテーブルを含む)を作ってからやったほうがよいのでしょうか?
つまりレポートの数だけクエリがあるといった状態になります

ふー
作成: 2021/04/14 (水) 12:13:14
通報 ...
1

テーブル1を元にしたクエリ1からレポートをつくるときに、
テーブル1のフィールドはレポートに配置できないようです
配置したい場合にはクエリ1に配置してからレポートに配置する方法でよいのですか?

はい、それでいいです。

レポートを作るときは複数のクエリやテーブルをごちゃまぜにしてつくるよりも
先に、レポートでつかうフィールドをすべて備えたクエリ(複数のテーブルを含む)を作ってからやったほうがよいのでしょうか?
つまりレポートの数だけクエリがあるといった状態になります

状況次第ですので、なんとも言えません。
それぞれレポートの表示するフィールドの違いとか、クエリの複雑さとか、いろいろです。

私の場合は下記のような設計する場合が多いです。

複数のレポートで使用できるように汎用的なクエリを一つ作成しておく。
各レポートのレコードソースに汎用クエリを使ったSQLを設定する。SQLは直接記述してもいいし、ビルドボタンを押せば、クエリのデザインビューで編集できます。

これだと、クエリは最低限の数ですみますので管理が楽になります。クエリがあまり増えると管理が大変ですので、なるべく増やさない方向で設計します。

2
ふー 2021/04/14 (水) 14:31:20 2a30e@b63e9

例えば日付フィールドだけを置いたクエリを作っておき、ほぼすべてのレポートでそれを使う
別途SQLをかき、そのレポートに必要なフィールドを追加するということですか?
ソースのところに[フィールド名]でどんどん書き込むのでしょうか?

3

逆ですね。クエリを元にSQLを書く時、後からフィールドは追加できません。
先に汎用クエリにそれぞれのレポートで必要なフィールドをすべて表示させておきます。
フィールド名を一つずつ指定するのは面倒なので、テーブル名.* と設定しておけば、テーブルのすべてのフィールドが表示されます。
レポートでレコードソースで必要に応じてフィールドを選択したり、演算フィールドを追加したりします。

4
困っています 2021/04/28 (水) 19:07:06 c370e@1f08d

access2016を使用しています。
Hatenaさんのサンプルを利用させてもらっています。
10行固定行で、詳細があり、ヘッダーにサンプル通り、フォーマットや固定文書を画像で設定しました。

クエリーで検索してグループ化を得意先で行っています。
テストのため、1つのグループを20データ作成して
合計2つのグループを作成しています。
印刷プレビューで、確認していますが、ページの文末まで詳細データが表示されるため詳細に改ページ制御を10行で行っています。

得意先が変わる3ページ目の印刷の上部10cm位が黒くなり得意先名が表示できません。
得意先コードヘッダーが臭いと思っているのですが、原因が掴めません。

教えて下さい

5

困っています さん
このスレッドの質問者さんとは別人ですよね。
内容も別質問になってますので、新規に質問しなおしてください。
下記のリンクから新規質問できます。

新規質問

また、そのとき、参考にしたサンプルのURLも提示してください。