過去の桐井戸端BBS (桐ver.8)
5632 表引き関数の不便さ ISSEI 2000/04/19-23:08
桐8sp4です。住所を入力するのに編集初期値に
 #表引き([〒],=,"ZIP.tbl",[〒],[住所])
として住所を入力しているのですが、これを
別のバードにコピー(もちろん”ZIP.tbl”も)
表を開くこともできなくなってしまいます。
再定義から入ればいいのですが,表引き対象表
が指定の場所にない場合には表引きを無効にする
なんていう、虫のいい方法はありませんか?
どなたかよろしくお願いします。
5634 Re:表引き関数の不便さ 佐田 守弘 2000/04/19-23:39
記事番号5632へのコメント
ISSEIさん
 >別のバードにコピー(もちろん”ZIP.tbl”も)
「バード」の意味が分からないのですが、どうやら構成が異なる複数のマシン
で同じ定義内容のデータを使いたいと言う要望の様ですね。

私のケースで言えば、NECのPC9801シリーズとDOS/Vで名刺管理のシステムを使っていた場合の
ケースで紹介します。
郵便番号データは様々な表で表引きしますから、どんな環境でも特定できる場所に入れておきます。
そして、それが可能な場所は、唯一、桐のシステムフォルダとその下のサブフォルダです。
私は、桐のシステムフォルダの直下に「tbl」のフォルダを作り、ここに入れております。
桐のシステムフォルダは、「#桐パス名」関数で調べられます。従って、
 代入 &郵便番号簿=#桐パス名+"tbl\ZIP.tbl"
とすれば、どの様な環境でも郵便番号データがフルパス名で指定できる事になります。
実際には、この代入コマンドを一括処理の中で実行しておきます。
会話処理だけで行おうとしたら、変数を書き出しておき、桐を起動した時に変数を読み込む方法でも対処できます。

そして、表引きの設定には、表ファイル名の場所に「&郵便番号簿」と変数名で記述します。
この方法で、起動ドライブが異なる複数のマシンでデータの共有が可能でした。

また別の方法として、#WSNAME関数を使うと、PCの名称が調べられます。
これで稼働しているマシンを調べ、#条件選択関数などを使って、
マシン毎に郵便番号データのフルパス名を記述する方法も可能です。

いずれの方法も自宅とオフィスないしモバイルマシンで同じデータを共有したい場合には、必須のテクニックです。

なお関連する話は、私のサイトの例題およびシェアウエア「名刺管理」の解説の中で述べてあります。

佐田守弘(KS-00119)

戻る