Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


843 / 2272 ツリー ←次へ | 前へ→

【9797】フィールドに入力した値を判定したい 浩二 07/9/1(土) 11:50 質問[未読]
【9799】Re:フィールドに入力した値を判定したい Nao 07/9/1(土) 15:08 発言[未読]
【9800】Re:フィールドに入力した値を判定したい hatena 07/9/2(日) 16:12 回答[未読]
【9831】Re:フィールドに入力した値を判定したい kouzi 07/9/10(月) 18:07 質問[未読]
【9834】Re:フィールドに入力した値を判定したい hatena 07/9/11(火) 0:26 回答[未読]
【9836】Re:フィールドに入力した値を判定したい Nao 07/9/11(火) 11:29 回答[未読]

【9797】フィールドに入力した値を判定したい
質問  浩二  - 07/9/1(土) 11:50 -

引用なし
パスワード
   フィールドに入力した値をある基準値に照らして判定し別のフィールドにOK/NGを表示したいのですが?
基準値10.5±0.1に対し入力値10.01→判定OK 又入力値10.06→判定NG と言うように
宜しくお願い致します。

【9799】Re:フィールドに入力した値を判定したい
発言  Nao  - 07/9/1(土) 15:08 -

引用なし
パスワード
   入力のチェックは「更新前処理」で行いますが、
基準値は「どの様な形式」で「どこに」セットされて
いるのでしょうか。

【9800】Re:フィールドに入力した値を判定したい
回答  hatena  - 07/9/2(日) 16:12 -

引用なし
パスワード
   >フィールドに入力した値をある基準値に照らして判定し別のフィールドにOK/NGを表示したいのですが?
>基準値10.5±0.1に対し入力値10.01→判定OK 又入力値10.06→判定NG と言うように
>宜しくお願い致します。

演算で求められる値は、フィールドに格納せずに、必用なときにその都度
計算するというのが、データベース設計の原則です。

ところで、「基準値10.5±0.1に対し」ということは、10.4 〜 10.6 までは、
OK ということではないのですか。
なぜ、「入力値10.01→判定OK 又入力値10.06→判定NG」なのでしょうか。

いちおう、10.4 〜 10.6 までなら OK と仮定して、

クエリの演算フィールドなら、

判定: IIf(Abs([フィールド名]-10.5)<=0.1,"OK","NG"))

フォーム/レポートの演算コントロールなら、

コントロールソース =IIf(Abs([フィールド名]-10.5)<=0.5,"OK","NG"))

で希望の表示は得られます。

【9831】Re:フィールドに入力した値を判定したい
質問  kouzi  - 07/9/10(月) 18:07 -

引用なし
パスワード
   すいませんがもう一度お願い致します。
フィールドに[長さ]と[判定]をつくり、フォームで[長さ]のプロパティー、更新後処理、イベントプロシジャーに[判定]=IIF(Abs([長さ]-10.5)<=0.5,"OK","NG"))としましたがうまく出来ませんでした。入力した長さが規格内ならOK、規格外ならNGと[判定]に表示したいのですが。判定基準は10.5±0.1です。宜しくお願い致します。

【9834】Re:フィールドに入力した値を判定したい
回答  hatena  - 07/9/11(火) 0:26 -

引用なし
パスワード
   >フィールドに[長さ]と[判定]をつくり、フォームで[長さ]のプロパティー、更新後処理、イベントプロシジャーに[判定]=IIF(Abs([長さ]-10.5)<=0.5,"OK","NG"))としましたがうまく出来ませんでした。入力した長さが規格内ならOK、規格外ならNGと[判定]に表示したいのですが。判定基準は10.5±0.1です。


もう一度いいますと、

演算で求められる値は、フィールドに格納せずに、必用なときにその都度
計算するというのが、データベース設計の原則です。

よって[判定]フィールドは必用有りません。
フォームに表示したいのなら、テキストボックスのコントロールソースに
式を設定します。

> 判定基準は10.5±0.1です。

[長さ] が 10.4以上、10.6以下なら OK ということですね。
なら、コントロールソースの式は、

=IIf(Abs([長さ]-10.5)<=0.5,"OK","NG")

です。

【9836】Re:フィールドに入力した値を判定したい
回答  Nao  - 07/9/11(火) 11:29 -

引用なし
パスワード
   hatenaさんへ
書き間違えです (^^)v

> 判定基準は10.5±0.1です。
>
>[長さ] が 10.4以上、10.6以下なら OK ということですね。
>なら、コントロールソースの式は、
>
>=IIf(Abs([長さ]-10.5)<=0.5,"OK","NG")
>
>です。

=IIf(Abs([長さ]-10.5)<=0.1,"OK","NG")
(0.5が0.1の間違え)
ですね


浩二さんへ

チェックする値はこれ 10.5±0.1 1種類だけですか?
そうであれば数値を固定している式で問題ないのですが
もし条件によって変わるのであればそれなりの対応が
必要になります。

843 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free