Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

Access2000フォーム上でフィールドの入力制限をかけたい

Access2000を使用しています。 フォーム上で、とあるチェックボックスにチェックを入れた場合に、ほかのいくつかのフィールドにデータが入力できないように制限をかけたいのですが、どのように設定すればよいでしょうか?

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

  • ベストアンサー
  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

モジュールを使います。 (1)フォームデザインでチェックボックスのプロパティBOXを 開きます。 (例えば チェックボックス名を チェック1とします。) (2)イベントタグを選んで、更新後処理から イベントプロシージャを開いて Private Sub チェック1_AfterUpdate() if チェック1 = true then 'ここにチェックが入った場合の処理を書く テキスト1.locked = True else 'ここにチェックがはずれた場合の処理を書く テキスト1.locked = false end If End Sub この場合テキスト1というコントロールのロックを 制御しています。

tago39
質問者

お礼

ありがとうございました! できました! まさに、「これ!」という回答でした。 それに、ものすごくわかりやすい説明で助かりました。

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

その他の回答 (3)

  • souta_n
  • ベストアンサー率33% (79/234)
回答No.4

#1の方の回答でOKだと思います。私の経験上、入力する人が、なんで入力できないんだ!と文句をいわれるケースがあったので(説明するとアッそうか!となるのですがいちいち説明するのがめんどくさいので) いっそテキストボックスを入力出来ないようにするのではなく消してしまえということで Private Sub チェック1_AfterUpdate() if チェック1 = true then 'ここにチェックが入った場合の処理を書く テキスト1.Visible = True else 'ここにチェックがはずれた場合の処理を書く テキスト1.Visible= false end If End Sub すみません先の方のコーディングを引用しました。

すると、全ての回答が全文表示されます。
noname#27115
noname#27115
回答No.3

>コントロールの enabled プロパティーに対して 値を与えます Locked プロパティーの方がいいかな? 必要に応じて使い分けてください。

すると、全ての回答が全文表示されます。
noname#27115
noname#27115
回答No.2

>'ここにチェックが入った場合の処理を書く 具体的には制御したいコントロールに対して、、 txtbox1.enabled=True txtbox1.enabled=False とか書きます。 コントロールの enabled プロパティーに対して 値を与えます

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

関連するQ&A