ラベル クエリ の投稿を表示しています。 すべての投稿を表示
ラベル クエリ の投稿を表示しています。 すべての投稿を表示

2008年3月18日火曜日

Access でクロス集計クエリを作成するとき、列見出しを固定して、全ての「月」を表示する

1. 「月」のレコードがないと、クロス集計クエリに基づいたレポートで、レコードのない「月」は表示されない

Access のクロス集計クエリは、クロス集計をする対象のレコードがないと、集計基準の「列」に表示されない。

例えば、

ある項目に対して、月ごとのクロス集計を作成したい

場合、ある月のレコードがないと、クエリの結果の列に、その月が表示されない。よって、このクロス集計クエリに基いたレポートを作成するのは難しい。

 

2. 「クエリ列見出し」を固定する

全ての月を表示するには、080318-001クロス集計クエリのプロパティの

  • クエリ列見出し

に 1 ~ 12 (月) を入力しておく。

これにより、データがなくても列に月が表示されるようになる。

このクロス集計クエリに基いたレポートを作成すれば良い。

 

参考サイト

関連サイト

2008年3月17日月曜日

Access で、二つ以上のテーブルからクエリを作成するとき、同じ名前のフィールドに気をつける

A テーブルは、

  • id : 主キー
  • cd : コード

B テーブルは、

  • id : 主キー
  • cd : コード
  • a_id : A テーブルの id を外部参照

 

A テーブルと B テーブルより、C クエリを作成した。

C クエリは、

  • B.id
  • B.cd
  • A.cd

このとき、B.cd と A.cd というように、 cd共通していた。 C クエリは問題なく動作した。

ここで、C クエリから C レポートを作成することにした。ウィザードを利用して、作成したところ、以下のようなエラーが表示された。

指定したレポートをプレビューできません。他のユーザがソース テーブルを排他モードで開いている可能性があります。

???

なんのこっちゃ (@_@;)

一度、レポートをデザインモードで開き、再度、プレビューで開いてみたら、今度は、

指定されたフィールド 'B.cd' が SQL ステートメントの FROM 句にある複数のテーブルを参照しました。

 

指定されたフィールド’○○○’がSQLステートメントのFROM句にある複数のテーブルを参照しました --Access Club Access 初・中級者 FORUM-- によると、

たとえば、Aテーブル、Bテーブル両方に[コード]フィールドがあったとき、
Select コード
From Aテーブル,Bテーブル
というようなSQLを実行した場合に上記のエラーが出ます。
最初の「コード」は、Aテーブル、Bテーブルどちらの[コード]を表示すれば
良いのか分からない(?)からです。

 

そこで、 C クエリを開き、SQL を表示させ、B.cd という指定を以下のように変更した。

B.cd as Bcd

クエリを GUI で作成する場合には、B.cd というフィールドの値を、 Bcd : B.cd というように指定すればよい。

これで、レポートのプレビューが開けるようになった。 ^^