プロが教えるわが家の防犯対策術!

宜しくお願いします。

仕様環境:WinXP access2002

デジタルライフ>officeソフトで出した質問ですが、
良いのかどうかわかりませんが、少し内容を変えてこちらで伺います。

ツールを作っているのですが、
集計クエリを使って各項目の集計を取ろうとしています。
使っている集計の条件は「カウント」です。

まず、元のフォームに”ステータス”というコンボボックスを置いて、
その中に「値リスト」と値集合ソースは、
「見積中、返答待ち、確定、作業中、作業完了、入金待ち、NG」となっています。
コンボボックス内はそのような”順番”で表示されるのですが、
集計クエリを元にした集計フォームでは順番どおりに表示されません。
(カウントはされています。)

昇順や降順という話しでもなく、”見積中”の次に”作業完了”がきたり、
また試したところ”NG”は一番最初に表示されます。

これはなぜでしょうか?
また改善の余地はあるのでしょうか?

ちなみに(いろいろテーブルとか変えて)クロス集計クエリを使うと
項目の並び順は揃えられるのですが、0件のところは「#name」とエラーが
出てしまいます。
(そもそもその項目が存在していないからといったところでしょうが)

よろしければ、ご指導お願いします。

「access 集計クエリの並び順。」の質問画像

A 回答 (1件)

>その中に「値リスト」と値集合ソースは、


>「見積中、返答待ち、確定、作業中、作業完了、入金待ち、NG」となっています。
>コンボボックス内はそのような”順番”で表示されるのですが、

それはそうです。
自分で、値のリストをその様に入力しているのでそうなります。
勝手に変わったりしません。
コンボボックスは、自分で入力した順番です
クエリーとは全く別物ですよね。

クエリーで思ったように並べたいのであれば、ちゃんとオーダーを指定する必要があります。
しかし、単なる(見積中、返答待ち、確定、作業中、作業完了、入金待ち、NG) この文字の羅列通りに並べることは無理ですよね。
文字で並べると、この順番にはできないので

例えば、状態テーブルを作成(状態ID,状態分名)し
01 見積中
02 返答待ち
03 確定
04 作業中
05 作業完了
06 入金待ち
99 NG
の様に登録し、管理します。
集計元のテーブルの該当データも文字ではなく、状態IDで格納します。

コンボボックスもこの状態区分テーブルからリスト表示するようにし
集計クエリーのオーダーも状態IDを指定すれば、希望する状態が作れます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

できました!

今まで値リストにそのまま直接文字を入力して
コンボボックスでする方法しか知らなかったのですが、
最近、ずっと考えていて「これは別テーブルが必要になるな」とまでは
思いついていたのですが、どこがおかしかったのかわかりました。
以前から魔法使いの開発工房さんの本を見ていろいろ参考にしていたのですが、
今回改めて見直したのと、kurodai2さんのアドバイスでバッチリです!

今度は最初からステータス名を表示させつつ、無い物には”O”件という
表示に挑戦したいと思います。
(nz関数とかが必要のようですが)

とにかく有難うございました!

お礼日時:2009/04/21 20:15

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

関連するカテゴリからQ&Aを探す