過去の桐井戸端BBS (桐ver.9)
19678 イベント内で表引きができない? 磯田 2003/03/29-21:38
住所録を入力するのにフォーム上でイベントを使って編集初期値に郵便番号から表引きをして、住所を入れたいのです。
そこで
手続き定義開始 住所::入力前( 参照 文字列 &編集文字列 )
 変数宣言 文字列{ &取得文字列 }
 &取得文字列 = #表引き([〒],=,"郵便番号.tbl",[〒],[住所])
 &編集文字列 = #未定義値変換( &編集文字列, &取得文字列 )
手続き定義終了
としたのですが、「使用できない関数です」と、エラーになってしまいます。
マニュアル等を見ても、表引きがイベント内で使用できないようなことはかいてないようなのですが、
何か記述が間違っているのでしょうか。お助けください。

19680 Re:イベントでの表引き 悲しげ 2003/03/29-22:15
記事番号19678へのコメント
どもっ、磯田さん

少し前にも類似の話題がありましたが、「表引きがイベント内で使用できない」
と云うことではありません。

> &取得文字列 = #表引き([〒],=,"郵便番号.tbl",[〒],[住所])

とは

 代入 &取得文字列 = #表引き([〒],=,"郵便番号.tbl",[〒],[住所])

の省略形でして、「代入」コマンドで#表引きは使えないと云うことです。
kevで書いているのでしたら、取り合えず次のようにして試してみて下さい。

 &〒=[〒]
 表 "郵便番号.tbl",索引名="なんとか"
 検索 [〒]{&〒},終了状態=&終了
 条件(&終了=1) &取得文字列=[住所]
 終了 表 編集対象表

要するに、#表引きの実態みたいなもんですけど。(^^;)

19682 Re:イベントでの表引き 磯田 2003/03/30-00:45
記事番号19680へのコメント
悲しげさん、こんばんわ。おっしゃった通りのやり方でうまくいきました。
表引き関数は代入コマンドの中では使えないのですね。勉強になりました。
しかし考えてみれば、イベントや一括の中であれば表引き関数を使うより,
教えていただいた方法でやったほうが細かい設定等ができるんですよね。
実は、表定義の中で編集初期値として表引きで住所を入れてもよかったのですが,
そうすると、常に郵便番号の表がないと名簿の表自体を開くことができなかったので,
入力用フォームを作り、フォームの中で編集初期値を設定すれば、表自体には
何の制約もかからないと思ったからです。
これからもよろしくお願いします。

戻る