過去の桐井戸端BBS (桐ver.9)
21961 表引き関数で参照する表にコードがない場合にエラーがでるようにしたい 小次郎 2003/08/22-07:47
桐v9です。

前回も質問したのですが、もう一度お尋ねします。
表引き関数で、参照する表にコードがない場合にエラーが
でるようにしたいのですが?
たびたびすいませんが、教えて下さい。
21968 Re:表引きについて うにん 2003/08/22-21:04
記事番号21961へのコメント
表引きする項目の項目制約条件に設定します。

#表引き([],=,”表引きマスター”,[コード],[コード])

登録されていないと未定義になるので制約条件違反になります。

21973 表引き値なしのエラー表示 佐田 守弘 2003/08/22-23:45
記事番号21968へのコメント
小次郎さん
うにんさん提案の方法は、項目制約(計算項目に項目制約は設定できない)ではなくて、
制約式の下にある未定義値禁止で設定します。

ただしこの方法では、1レコードの入力後に制約違反のチェックが行われるので、
参照項目(表引きに使う値:コード番号など)の入力直後に未登録のチェックが
行えるわけではありません。
この点が、期待している機能とちょっと違うと思います。

好ましくは参照項目値を入力した直後に、その値が表引き舛谷登録されているか
どうかをチェックし、登録されていなければ、この参照項目値を入力しなおさせる必要があります。

表引きマスタが固定されていて、登録されているコードの値の範囲が簡単に
式に記述できるのであれば、参照項目の方に項目制約を掛けた方が良いでしょう。

●フォームとイベントを使うなら
いろいろな事ができます。表引きの参照項目の入力後イベントを使って、表
引き表を検索し、検索できなければエラーとして再入力を求める事ができます。
あるいは、ソース値更新イベントで値が確定した後に同じ様に行い、
検索できなければ、フォーカスをもう一度戻して再入力させる事もできます。
イベントで処理しますから、メッセージボックスにエラーメッセージと値の再入力を表示するといった事もできます。

ここまで行うなら、表引き関数を使わず、検索してえられた項目値を直接取り込む事もできます。

佐田守弘(KS-00119)
21978 Re:表引き値なしのエラー表示 うにん 2003/08/23-00:20
記事番号21973へのコメント
佐田 守弘さんは No.21973「表引き値なしのエラー表示」で書きました。
>小次郎さん
>うにんさん提案の方法は、項目制約(計算項目に項目制約は設定できない)では
>なくて、制約式の下にある未定義値禁止で設定します。

あの項目制約式を設定するのは、表引きに使う値を入力する項目([コード])です。
表引き結果([社名]とか[商品名]とか)を入れる計算項目にではありません。
ですから、入力後確定(次項目への移動など)時に即チェックされます。

実際のテストでは#表引き(〜,[コード],[品名])とかやってたんですが、
これだとコードだけ登録されていて品名が未定義の場合もエラーになってしまうので
投稿寸前に[コード],[コード]に書き換えてしまいました。このせいで
わかりにくかったかもしれません(^^;

21982 Re:表引き値なしのエラー表示 小次郎 2003/08/23-06:01
記事番号21978へのコメント
うにんさんありがとうございます。
うまくいきました。
前回質問したときは、#未定義を##表引き関数に
使っていたような気がします。
私の勘違いかもしれませんが・・・
そのツリーを捜したのですが、見つからないので再質問しました。
いろんな方法があるのですね
勉強になります。

佐田さん、正規の桐V9を購入してまだ一ヶ月たちません
いままで桐体験版を使用していました
一括処理よりもイベント処理を勉強したいのですが、
コマンドボタンの機能名や機能パラメータリストの解説や
イベントタブの解説をした本とかあるのでしょうか?


戻る