dポイントプレゼントキャンペーン実施中!

VBで画面を作っていて、画面に表示する表を作成していますが、ちょっと行き詰ったので、知恵をお借りできれば質問しました。

注文表があるとします、できればエクセルみたいな表形式で分かりやすくシンプルに作りたいです。
お客様が20人、商品が100種類あるとします。

  商品1  商品2  ・・・
A様 20    30
B様 0    700
C様 0    68
D様 100   50



これだと横に商品100個も入らないので、何か根本的にこれを分かりやすく作る方法はありませんか、カテゴリ違いかもしれませんが、お願いいたします。

A 回答 (5件)

データとかプログラミングとかではなく、


純粋に画面設計の話だとして話を進めます。

基本的に「どういう情報をどの角度から見たいのか」
がわからないので、上の情報ではベストの回答は得られないと思います。
「分かりやすくシンプル」といわれても、
その基準は状況によって変わってくるものですし。
(私は上の表は十分にシンプルだと思います)

1画面に表示できる情報には限りがあるわけで、
それをどう取捨選択するかを考えるといいと思います。
「あれもこれも」はむりですよね?

あくまで私が思いつく方法ですが
スペースに限界がない(紙など)場合は、どう表示したらわかりやすいのかを考えます。
それで、その情報を画面に表示する場合にその中のどの情報が「まず必要」なのかを考えます。
そこから漏れる情報をどう表示するかを検討すればいいんじゃないかと。
例として、
・初期画面ではお客様ごとの合計を表示、クリックでそのお客様の詳細を表示。
 (ツリー形式とかポップアップとか別画面とか)
・同様に初期画面で商品ごとの合計を表示~

  合計  商品1  商品2  ・・・
A様 120  20    30
B様 1000 0    700
C様 300  0    68
D様 1200 100   50

みたいに表示して、商品1の列からスクロールするとか。
とにかく、「最初に確認したいことは何か?」を意識するしかないのでは?
    • good
    • 0

データの正規化(DB設計)ですね。

また何故に、こっちを選んだのか・・・。DBカテなら相手をしてくれる方々が、ゴロゴロといらっしゃるでしょうに、と。

関係DBにおいては、今回のようなループ処理は御法度です。正確には、以下のようにすべきです。

[注文表]
 主キー 顧客名 商品名 数量  注文日  ・・・
  1   A様 商品1  20 2008/01/17
  2   A様 商品2  30 2008/01/18
  3   B様 商品1   0 2008/01/27
  4   B様 商品2  700 2008/01/28
  5   C様 商品1   0 2008/02/17
  6   C様 商品2  60 2008/02/18
  7   D様 商品1  100 2008/03/17
  8   D様 商品2  50 2008/03/18
  ・   ・   ・   ・   ・
  ・   ・   ・   ・   ・
  ・   ・   ・   ・   ・


>商品はないですが、お客様は一画面で表示する必要があります。

上記の注文表を元に、新たに専用のビューを作成ですね。

ちなみに、Excelでは、最大の行数は確か65536くらいだったと思いますが、Oracle Database 10g では、無制限だったりします。(HDDの容量がある限り、といった感じでしょうか。)
    • good
    • 0

> 商品はないですが、お客様は一画面で表示する必要があります。



ならば、前も書いた通り、お客様を横に並べれば解決するのでは?
20人が100人になるって言うのなら話は別でしょうけど。
もしそうでも、お客様名を縦書きにすればかなりスペースが稼げそうですし。

何が問題なのか解り難いです。
    • good
    • 0

お客様が20人なら、お客様を横に並べればいいんじゃ?



というか、画面に商品もお客様もすべて表示する必要があるんですか?

この回答への補足

>お客様が20人なら、お客様を横に並べればいいんじゃ?
お客様も商品も不特定に増えていったり、減ったりします。
定数というのがないのです。

>というか、画面に商品もお客様もすべて表示する必要があるんですか?
商品はないですが、お客様は一画面で表示する必要があります。

よろしくお願いいたします。

補足日時:2008/03/16 17:44
    • good
    • 0

GridControlとかListViewとか使って


スクロールバー付ければ済むと思うのですが。

この回答への補足

GridControlでも、これが表が恐ろしく大きくなってしまうんですが・・・

このような表を表示する際の過去例とかないんでしょうか、お願いいたします。

補足日時:2008/03/16 15:26
    • good
    • 0

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