プロが教える店舗&オフィスのセキュリティ対策術

Ac2000です。

「F_年度別」というフォームに
・データ年度
・データ種類
・Aの値段
・Bの値段
・Cの値段
・Dの値段
という項目があり、これらに入力をして、コマンドボタンをクリックすると、
「T_年度別」というテーブルが作成されるようになっています。
この「T_年度別」と「T_会社ID」を使って「Q_年度別」というクエリを作成しました。
「T_年度別」
・データ年
・データ種類・
・ランク(上記のA~Dのこと)
・会社グループID
「T_会社ID」
・会社グループID
・会社グループ
(会社グループIDにリレーション)

「Q_年度別」はクロス集計クエリで、
・会社グループID   グループ化   行見出し
・会社グループ    グループ化    行見出し
・ランク         グループ化    列見出し
・データ種類     カウント       値
・データ種類     カウント       行見出し
となっています。

この「Q_年度別」をもとに「R_年度別」というレポートを作成しています。
手順自体は間違いではなく、ちゃんと合っていて、表示されるのですが、
ランクで、たとえば「D」の入力がなかった場合(A~Cしか該当がなかった場合)に
エラーになってしまうのです。
エラーは以下の通りです。
------------------------------------------------------------
実行時エラー:'3070';

'D'を有効なフィールド名、または式として認識できません。
------------------------------------------------------------

このエラーを回避し、スムーズに表示させるためにはどのようにしたらいいのでしょうか?

よろしくお願いします。

A 回答 (2件)

こんにちは。



以下の方法で回避できませんか?

1.「Q_年度別」のクロス集計結果の形のテーブルを作成する。
 「T_年度別集計」
 項目
 ・会社グループID
 ・会社グループ
 ・A
 ・B
 ・C
 ・D
 注意:A~Dまではちょっとあやふやです。
    実際のクロス集計の結果と合わせてください。

2.「T_年度別集計」のレコードを削除するクエリーを作成する。
 「Q_年度別集計_全削除」
3.「Q_年度別」をクロス集計クエリーから追加クエリーに変更し、追加先に
 「T_年度別集計」を指定する。
4.「R_年度別」のレコードソースを「Q_年度別」から「T_年度別集計」に変更する。
5.実行の手順を
 「Q_年度別集計_全削除」クエリー実行
 「Q_年度別」クエリー実行
 「R_年度別」レポートを開く

つまり、想定されるクロス集計結果の項目を先にテーブルとして作っておけば、
クロス集計に値が無くても項目はあるのでレポート等ではエラーが発生しない
と言うわけです。

こんなので分かりますか?

ではでは・・・
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

大体の流れは理解できました。

>3.「Q_年度別」をクロス集計クエリーから追加クエリーに変更し、追加先に
> 「T_年度別集計」を指定する。

とありますが、これはいったいどのようにしたら・・・?
クロス集計クエリから追加クエリにすると、カウントの数がおかしくなってしまうのです。

クロス集計の結果は以下のような感じになっています。
--------------------------------------------------
会社グループID | 会社グループ | データ種類のカウント | <> | A | B | C |
   120      | ○○      |     4         |  4   |   |   |   |
   130      | □□      |     40        |      | 3 | 5 | 32 |
   170      | △△      |     1          |     | 1 |   |   |

--------------------------------------------------

こちらのやり方が違うのだとは思うのですが、わからないので、
申し訳ありませんが、もう一度よろしくお願いします。

お礼日時:2002/06/25 10:29

すっすいませ~ん!


ごめんなさい!間違っていました。

>3.「Q_年度別」をクロス集計クエリーから追加クエリーに変更し、追加先に
> 「T_年度別集計」を指定する。

のところですが、
「Q_年度別」のクロス集計クエリーはそのままで、「Q_年度別」を表示する
クエリーを作っていただき、そのクエリーを追加クエリーにしてください。

クエリー「新規作成」→「デザインビュー」を選択→「テーブルの表示:Q_年度別」
を選択→「フィールド」に「Q_年度別.*」、クエリーの種類「追加」に変更→
追加先に「T_年度別集計」
としてください。
    • good
    • 0
この回答へのお礼

再び回答ありがとうございます。

言われた通りのことを私もなんとなくながらやってみたら
できているようです。
ですので、この方法で行こうと思います。
ありがとうございました。

お礼日時:2002/06/25 13:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!