過去の桐井戸端BBS (桐ver.8)
8851 複数の条件で表引きしたい 6MT 2000/12/09-14:41
初めまして 6MTといいます バージョンはV8SP6です
「A=A´かつB≦B´の時Dを表示させたい」もしくは
「A=A´かつB≦B´かつC≧C´の時Dを表示させたい」
Aは型式 Bは製造番号の始まり Cは製造番号の終わり Dは製造年月日です

これを表引きにすることは出来るのでしょうか?
宜しく御願いします
8855 Re:2項目での表引き bebe 2000/12/10-18:27
記事番号8851へのコメント
6MTさん 初めまして bebeといいます。

>「A=A´かつB≦B´の時Dを表示させたい」もしくは 
>「A=A´かつB≦B´かつC≧C´の時Dを表示させたい」
>Aは型式 Bは製造番号の始まり Cは製造番号の終わり Dは製造年月日です

上の方の条件だけならこんな感じで如何でしょうか?

型式の分、製造番号と製造年月日の表引き元表を作って頂くことを前提として、

便宜上、型式をABCにしてますが、

file_A.tbl             file_B.tbl             file_C.tbl

製造番号 製造年月日   製造番号 製造年月日   製造番号 製造年月日
100    2000/12/10   1100   2000/12/10   2100   2000/12/10
200    2000/12/11   1200   2000/12/11   2200   2000/12/11
300    2000/12/12   1300   2000/12/12   2300   2000/12/12
400    2000/12/13   1400   2000/12/13   2400   2000/12/13
500    2000/12/14   1500   2000/12/14   2500   2000/12/14

上記の様な3ファイルでテスト的にやってみます。

型式がAのとき、製造番号が100番以下なら12/10を表引きするという場合、
表引きをするファイルの[製造年月日]の挿入初期値式と編集初期値式にそれぞれ

#条件選択([型式]="A",#表引き([製造番号],<= ,"TEST_A",[製造番号] ,[製造年月日]),[型式]="B",#表引き([製造番号],<= ,"TEST_B",[製造番号] ,[製造年月日]),[型式]="C",#表引き([製造番号],<= ,"TEST_C",[製造番号] ,[製造年月日]))

と設定して頂くと表引きできると思います。項目属性の表引きと違い表引きデータのパネルは開きませんが、
目的のデータは入力されると思います。

問題は、型式の分、表引き元ファイルを用意することになるので、型式が大量にあるとちょっと辛どいですね。

僕なら、併合コマンド使いますけど。


8879 Re:2項目での表引き 6MT 2000/12/12-10:53
記事番号8855へのコメント
bebeさんありがとうございます。
これを併合コマンドにするとどんな感じになるんでしょうか?
参考までに教えてほしいにですが。
宜しく御願いします
8903 Re:2項目での表引き bebe 2000/12/13-14:05
記事番号8879へのコメント
6MTさん こん**は bebeです。

>これを併合コマンドにするとどんな感じになるんでしょうか?

併合の場合は、>=とかで判定でないので、判定用の項目([判定製造番号]とか)を併合先のファイルに便宜的につくって、
1〜100なら100、101〜から200なら200とかのデータを入力しておきます。

併合元の型式と製造番号と、併合先の型式及び判定製造番号で、照合し、製造年月日を複写するというのはどうでしょうか?

よろしくお願いします。

8909 Re:2項目での表引き 今村 誠 2000/12/14-00:25
記事番号8851へのコメント

>Aは型式 Bは製造番号の始まり Cは製造番号の終わり Dは製造年月日です

この関係は郵便番号に当てはめることができます。
型式は県の名前例えば北海道など、製造番号は市町村や字名になるでしょう
製造番号の終わりとは、マンションやアパートや、番地などに該当するのではないかと思いますが,
住所を表引きすれば、県の名前がないと文字コードで検索してそれに近いところで止まります。
製造番号の範囲内にあるのであれば、型式の中の最も近い数値で止まるはずです。
また、市町村名に該当しないところは、次の県の頭で止まっていますので型式を確認すれば、当該製造番号がないことは一目瞭然です。
住所から郵便番号を表引きするときは、県の名前と市区町村と字名を連結しなくてはなりませんが、
A=Aという風に、正式な型式と、故障などで照会を受けた、製造番号を連結して、参照項目とすることは、
表定義に限らず、ソース値更新のイベントでも、容易に連結できるので、新たに項目を作成し、
全ての型式を含んだ表を作成して表引きした方が簡単ではないでしょうか。
最後のDの製造月日が、郵便番号を求めることになるので、データ件数から言えば、
全ての型式と製造番号を追加読込で統合して、11万件程度の表引きであれば、
1秒未満でできます。索引は必要です。
どうしても、分割して保存した表からの表引きや、件数がもっと多いよというのであれば、bebeさんの方法しかないのではないでしょうか。
用途やデータ件数が解らないので、的はずれかもしれませんが、製造番号が途中が飛んでなかったり、
型式の入力ミスがない限り、同じ型式であれば、番号の始まりと終わりを何行書いても、
その中の数値なら、その型式の製造番号の始まりで必ず止まります。
但し桁数が違うとエラーとなりますので、最大桁数で、文字置換を掛けないと、うまく行かないと思います。
例えば、パソコンが故障して修理依頼を受けたとき、製造年月日を知りたいときは、
型式 CF-A77J8   製造番号  9142 となっていて 製造日が1999年6月15日で
この他にも同じ日の 製造番号 20543 迄在ったときは、この二つを比較するには
5桁になるまで 9142 に 0 を埋めること(09142)が必要です。
また、同じ型式で製造番号が日にちを替えて 製造番号 7622345 等があるのであれば、
5桁でなく8桁(00009142)にしないと、うまく行かないと思います。
 製造番号は、断続でなく連番であれば、始めと終わりを上記のように最大桁数でくくれば、容易にいつの製造かが解ると思います。
 型式や、商品分類毎に検索して、表引きを切り替えたいときは、一括処理で、変数のみのテキストボックスで
条件式を入力してもらい、該当の 型式.TBLを絞り込んだ状態にして、表示するのも良いかもしれません。
前提条件(データ件数やフォームなのか、表編集だけなのか、一括処理なのか)をもっと書いていただかないと、
抽象的な答えしか出せないと思います。
長くなり、失礼な文面もあるかと思いますが、参考になればと思って投稿しました。

8917 Re:2項目での表引き 6MT 2000/12/14-16:42
記事番号8903へのコメント
bebeさんありがとうございます。
今後の参考にさせていただきます
8919 Re:2項目での表引き 6MT 2000/12/14-17:11
記事番号8909へのコメント

>絞り込んだ状態にして、表示するのも良いかもしれません。
>前提条件(データ件数やフォームなのか、表編集だけなのか、一括処理なのか)を
>もっと書いていただかないと、抽象的な答えしか出せないと思います。
>長くなり、失礼な文面もあるかと思いますが、参考になればと思って投稿しました。
>
今村 誠さんありがとうございます
参考にさせていただきます。私の頭に無いやり方感心してしまいました。

前提条件(データ件数やフォームなのか、表編集だけなのか、一括処理なのか)をもっと書いていただかないと、
抽象的な答えしか出せないと思います。

その通りです。今後気を付けます。ありがとうございました。

戻る