ComboboxとDBChart

解決


優菜  2010-02-11 17:34:50  No: 37547  IP: 192.*.*.*

また、質問させていただきます。以前、こちらのサイトでComboboxのitemをプログラム実行時に追加できる方法をお伺いしました。現在は、テキスト(メモ帳に)保存する形でプログラムを組んでいます。comboboxの内容は、職業や性別など文字型が入力されている状態です。ですので、TDBChartのクエリで、文字型データが入力されたテーブルからデータを集計してグラフとして表示するときに、select・sum・countなどの関するを利用して、プロパティで設定しようとしても、number型ではないので、データセットの部分に表示できません。

TO_number関数を使用しても、文字型の数字なので、データの集計ができません。

よって、一度TEditやTMemoにテーブルの内容を数字に変換そして挿入してからTDBChartへ反映させるか、集計用のテーブルを作ってからそこからデータをカウントしてDBChartに反映させようとしています(ほかに良い方法があったら、ご指導いただければと思います)。
[集計用のテーブルを作らないとき」
comboboxの項目は実行時ユーザがいくらでも増やせるので、その場合のデータの件数のカウントやり方を教えてもらえませんか?項目数が決まっていれば、if query1.fieldbyName('occupation') = '会社員' then
             hensu := tasu + 1;のように
できますが、項目数と項目内容ができないので、この使えません。お分かりのかた、ご指導いただけませんか?

編集 削除
HOta  2010-02-11 18:28:47  No: 37548  IP: 192.*.*.*

SQLで集計した結果はInteger型ではないですか?
データーベースは何をお使いですか?
集計用のSQLはどの様に書いていますか?

編集 削除
優菜  2010-02-11 19:11:00  No: 37549  IP: 192.*.*.*

データベースは、オラクルというものを使っています。データは文字型(VARHCAR)です。SQLはクエリに、SELECT OCCUPATION, COUNT(*) FROM TABLE_NAME GROUP BY OCCUPATIONと一例ですが、書いています。

編集 削除
HOta  2010-02-12 07:21:07  No: 37550  IP: 192.*.*.*

OCCUPATIONは文字列ですが、COUNT(*)の結果は整数でしょう?
COUNT(*)にAliasを付けて、表示させればどうでしょう。
それをTDBChartに反映させればグラフになりませんか?

編集 削除
優菜  2010-02-13 13:31:01  No: 37551  IP: 192.*.*.*

HOtaさんへ。

どうもありがとうございました。目盛やラベルを調整し、count(*)にAliasをつけたらできました。

編集 削除