• ベストアンサー

アクセスで条件によるコマンドボタンの使い分け。

いつもお世話になります。 アクセス2003で納品管理を作成中ですが、商品のレコードに「不使用」のチェックボックスと「注文入力」のコマンドボタンがあります。この「不使用」のチェックボックスがOnの場合は「注文入力」のコマンドボタンをクリックできないようにしたいと考えています。 フォームの形式は帳票フォームになっていますのでそれぞれのレコードによってコマンドボタンがクリックできるものと、できないものにしたいのですが、可能でしょうか。(できたらそのレコードは色も暗くしたいのですが。。。) どなたかご教授よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

レコード移動時のイベントやチェックボックスの更新後処理のイベントで チェックボックスの条件によって、該当ボタンのEnabled(使用可・使用不可)や Visible(表示・非表示)を変更してください。 If Me.不使用 = True Then Me.注文入力.Enabled = False Else Me.注文入力.Enabled = True End if みたいな感じです。

ayanohina
質問者

お礼

ありがとうございました。 これでスムーズに使うことができるようになりました。 またこれからもよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.4

帳票フォームのレコード毎にボタンがあるタイプでしょうか? ボタンを押せない様にするよりも、不使用のフィールドがTrueならボタンを押してもなにも起きない様にする方が簡単だと思いますが、いかがでしょうか。(VBAを前提にしています。) レコードの色を暗くするのは、条件付き書式で、不使用フィールドの値により色を変えれば可能と思います。 下記URLは文字の色を変えていますが、背景色を変えるのも同様にできます。 http://support.microsoft.com/kb/879811/ja

ayanohina
質問者

お礼

丁寧なご回答ありがとうございました。 また今後も参考にさせていただきますのでよろしくお願いいたします。

すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

コントロールの (1)イベントと (2)それを働かなく、働くようにする、Enabled=TRUE、FALSEの問題です。 >この「不使用」のチェックボックスがOnの場合は これも広く言って、どういう場面なのか。 (A)今から両方とも入力する場合なのか、(B)テーブルが作られていて、フォrムも作られていて、不使用のフィールドがONの場合は別途判別されて、注文入力を働かなくするのか、か認識と説明が足りない。 (A)の場合で操作者が不使用をONにすると即座に、「注文入力」のコマンドボタンをクリックできないようにするのか(外に優先順位があって不使用チェックボックスが優先されるのかな) チェックボックスやコマンドボタンコントロールは、何時クリックされるとも限らない場合、イベントで捉えざるを得ない。 コントロールのプロパティに「イベント」があり、色々な種類が用意されている。 そしてイベントをとらえた後は、普通はVBAでその後の処理を、書かないといけない。(式ビルダ、マクロビルダ、コードビルだをみよ) こういうのを経験してきたのかな。VBAのわずかでも経験があるのかな。 ないなら勉強してください。上記の概念や仕組みを掴んでいないのに回答をコピペしても仕方がない。 どうもこのコーナーを、家庭教師的に使っているようなので、コードは書かない。

ayanohina
質問者

お礼

勉強不足で大変申し訳ありませんでした。以後気をつけます。

すると、全ての回答が全文表示されます。
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

追加です そのレコードの編集を不可にしたい場合 Me.AllowEdits = False を入れてください。 ただし、その場合チェックボックスも編集できなくなりますので 編集不可を解除するボタンが必要になります。 常時は非表示にしておいて編集不可にしたときだけ表示させるといいでしょう。

すると、全ての回答が全文表示されます。

関連するQ&A