プロが教える店舗&オフィスのセキュリティ対策術

まだ勉強中なのですが、会社で試験的に受注管理をACCESSで運用中です。
今現在はテキストBOXのコントロールソースに「納品残数=0」と入れて書式「YES/NO」で
テキストラベル「納品済み?」の後にYESかNOを表示させています。
分納中の場合、どのようなやり方で表示させれますでしょうか?
詳細な内容として
注文数 50とした場合。
納品残数(日々の入力数を足して注文数を引いた数値)が0の場合に「完納」
納品残数が、1~注文数から1引いた数値の場合、「分納中」
納品残数が注文数と同じ場合、「納品前」

上記の内容を可能とするやり方をご教授お願いいたします。

A 回答 (2件)

まともにやるなら


=IIf([納品残数]=0,"完納",IIf([納品残数]=[注文数],"納品前","分納中"))

[納品残数] が Null の場合も有り得るなら
=IIf([納品残数]=0,"完納",IIf([納品残数]=[注文数],"納品前",IIf(IsNumeric([納品残数]),"分納中")))


ちょっとひねって
テキストボックスのコントロールソースに
=IIf([納品残数]=0,True,[注文数]-[納品残数])
として
書式 : "分納中";"完納";"納品前"
使用可能 : いいえ
編集ロック : はい

これはちょっとやり過ぎ?
=Format(IIf([納品残数]=0,True,[注文数]-[納品残数]),"""分納中"";""完納"";""納品前""")
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
コントロールソースに入れる方法で出来ました。
対応ありがとうございました。

お礼日時:2016/07/08 08:03

質問の答えとしては、テキストボックスの更新イベントで再計算させて、適切な値を適切な連結コントロールに書き込んでレコード更新をかければよいだけ。

 

オイラが作るとしたら、注文テーブルと、納品テーブルは分けるな。 で、注文テーブル側には、完納フィールドをつける。 そうしないと、別納した場合に、いつ、だれが、納品しているかを管理するのが面倒。

業務で使うなら、アクセスのテーブルに連結したフォームはあまりお勧めできないかな。 すべて、SQLで処理するように書いておいたほうが、将来的に良いと思う。 

あと、今、RDBのテーブル設計についてしっかりと勉強したほうが、将来作り直さないといけなくなったとき楽だよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
数十社あるユーザーの内、テスト的に1社での運用を開始しており、本やNETでズバリそのままの内容をコピーしたり、ちょっとだけカスタマイズして
作成しています。
完全に現行の生産予定~納品管理を移行するまでにACCESSをちょっとずつ覚えていきたいと思います。

お礼日時:2016/07/08 08:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!