過去の桐井戸端BBS (桐ver.8)
12640 値集合かそれとも表引きか? kei 2001/08/17-13:12

(項目)  A      B
     1ヶ月点検  10
     12ヶ月点検 20


ある項目に一つ一つAの項目を設定して
自動車の場合は 1ヶ月点検  10  12ヶ月点検 11
バイクの場合は 12ヶ月点検 10  36ヶ月点検 11 
尚かつBの数字も入れたいという場合
どうしたらよいのでしょうか?
値集合を使った方が良いのか
それとも表引きなのか
どんなものでしょう
12648 Re:値集合かそれとも表引きか? 佐田 守弘 2001/08/18-00:42
記事番号12640へのコメント
keiさん
一部不明な部分があるので、確認させて頂きながらのコメントです。

●[A]の値
まず[A]の値ですが、これは一覧(値集合ないし表引き)から選択入力する値ですね。(もしどこか別の所で入力されるとしたら、話が変わりますが)

そして、この値は「1ヵ月点検」、「6ヵ月点検」はあるけど、「4ヵ月点検」はないという様に、取り得る値が決まっていると思います。
そしてその数はそれ程多くないと思います。私の推定として多分、1,6,12,18,24,36程度ではないでしょうか。

この様にそれ程値の種類が多くなく、その中から選択入力する場合には、値集合を使う方が簡単だと思います。

●取り得る値のリストの変更
二輪車には12ヵ月点検がないと言う様に、車両の種類(車輪の数?)によって取り得る値が変わる様ですね。
値集合の場合には、車両の種類で取り得る値のリストを変える事はできません。
表引きの場合には、表引き関数を使って計算式として一義的に値を決める場合には、「#表引き2」関数を使えば、取り得る値を変える事が可能です。
しかし、値集合的な表引き入力の場合にはこれはできません。
敢て言えば、表引きする表を変数で指定する方法がない訳ではないのですが、結構面倒ですし、表形式編集では使えないでしょう。
確か、表引きの設定では表名に変数名の指定はできますが、計算式は設定できないと思いました。
変数名で設定する場合には、表引きの直前にこの値を変えてやる必要があり、それにはイベントを使う必要があります。

●取り得ない値の禁止
従って、取り得ない値も含めた値リストから選択入力するしかありません。
取り得ない値が入力されないようにするには、項目制約などで値を制限する事になります。

●[B]の値
次にBの値ですが、これは車種と[A]の値で自動的に決まると解釈しました。
そうであれば、項目計算式で自動的に決めるのがベターです。
この計算式には、#表引き2を使うのが良いと思います。
ただし、値の種類がそれ程多くないのであれば、「#条件選択」関数で記述する事も可能です。

●補足
[B]の値が計算式で決まるのであれば、「[B]の項目は作らない」がベストです。
表形式編集では値を表示するために項目計算式が必要になりますが、
フォーム編集やレポート印刷では、表示と印刷の時に計算式でその値を出せば良い訳ですから、
表で持っておく必要はないのです。

佐田守弘(KS-00119)

戻る