| 2020/07/04(Sat) 18:07:46 編集(投稿者) 2020/07/04(Sat) 12:47:32 編集(投稿者)
> 桐10Sを使用しています。 > 区分1若しくは区分3のどちらかが定義されている時 > 区分2に入力出来なくする方法は有るでしょうか? > 行制約式を使えば出来るのではと思い、色々調べて試してみたのですが > 上手く行きませんでした
制約式は、設定したその人自身には、違反メッセージの意味が理解できますが、
オペレーションを任された人には理解できない場合があると思います。
なので、当方は制約式の代わりにエラーに該当する項目値を赤色等で警告するようにしています。
サンプルの表を添付します。
入力した値が赤くなるので、すぐに入力ミスに気が付きますよ。
お試しあれ。
エラーを文字の色で警告する.tbx
項目番号 項目名 データ型 1 ID 文字列 2 名称 文字列 3 諸元 文字列 4 区分1 文字列 5 区分2 文字列 ←┐ 6 区分3 文字列 │ 7 備考 文字列 │ │ │ 区分2の[項目の表示条件] ※以下参照
1.任意の行の[区分2]にカーソル移動する 2.表編集のメニューバーの[属性]メニューの[項目の表示条件]を選ぶ 3.[項目の表示条件]ダイアログの[条件編集]タブを選ぶ 4.[新規行(I)...]を実行して以下のように設定する
条件式(A): ( #trim( [区分1], 3 ) <> #u .or #trim( [区分3], 3 ) <> #u )
背景色(B): カラーパレットから赤を選択 文字色(C): カラーパレットから白を選択
p.s.
なお、厳密に行うには
× 条件式(A): ( #trim( [区分1], 3 ) <> #u .or #trim( [区分3], 3 ) <> #u ) ← [区分1]と[区分3]に空白文字があってもOKにしてあります
○ 条件式(A): ( [区分1] <> #u .or [区分3] <> #u )
ですが、 [区分1]や[区分3]に空白文字だけが入力されていると、
空白文字は見えないために、未入力と勘違いして混乱するので、サンプルではトリム( trim )してあります。
さらに見栄えを重視するのであれば、
○ 条件式(A): ( [区分1] <> #u .or [区分3] <> #u ) .and ( [区分2] <> #u )
がよいかもしれません。
試してみれば分かると思いますが、どちらも一長一短です。
> 当方は制約式の代わりにエラーに該当する項目値を赤色等で警告するようにしています。
もちろん、エラーチェックは作業の最終段階で行っていますよ。
ここで紹介した方法は、あくまでも誤入力を防止するための方法であって、入力の制約でもエラーチェックでもありませんよ。
|