- ベストアンサー
accessのフォームのチェックボックスを動くようにしたいです。
accessのフォームのチェックボックスを動くようにしたいです。 あるフォームは起動時、更新の許可を「いいえ」に設定しています。フォームの値をいじらせないようにしているためです。 編集可能釦をおしたときに、この更新許可を「はい」にしています。 起動時(起動後)に、あるチェックボックスだけ、動作するようにしたいのですが、なにか簡単な方法はありますでしょうか? チェックボックスが無理でしたら、他の操作ボックスでもよいです(西暦・和暦を指定しているだけのチェックボックスです) p.s. フォームには、テキストや、コンボなど沢山あるため、できれば更新「いいえ」はそのままにしたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
お節介な上にコードが間違っているという・・・m(_ _)m Sub subContorolLock() Dim objForm As Object Dim cnt As Control Set objForm = Me For Each cnt In objForm.Controls If cnt.Name = "チェックボックス1" Then cnt.Locked = False Else cnt.Locked = True End If Next End Sub ロック/非ロックが反対でした・・ 失礼いたしました。
その他の回答 (2)
- sykt1217
- ベストアンサー率34% (277/798)
#1です。 面倒とのことですが、どういった処理を行う予定でしょう? 例えば、単に特定のチェックボックスのみを非ロックにして、その他をロックしたい場合は、 Sub subContorolLock() Dim objForm As Object Dim cnt As Control Set objForm = Me For Each cnt In objForm.Controls If cnt.Name = "チェックボックス1" Then cnt.Locked = True Else cnt.Locked = False End If Next End Sub のようにループさせてやっても出来ます。 お節介失礼いたしました^^;
- sykt1217
- ベストアンサー率34% (277/798)
フォーム単位での更新不許可なので、コントロール単位での更新許可/不許可を変更したい場合は、コントロール単位で制御をする必要があります。 ですので、追伸部分に反しますが、将来の汎用性から考慮しても、コントロール制御用のファンクションを用意して、コントロール単位での制御に変更することをお勧めします。 ロックをする場合は Me!コントロール名.Locked = True もしくは Me!コントロール名.Enabled = False で使用不可にすることで対処できます。
お礼
ありがとうございます。 やはり、フォームの設定なので、更新は許可にしなければいけないのですね。 一つ操作を加えたいだけで、全部ロックにするのは、ちょっと面倒ですががんばります。 ありがとうございます。
お礼
ありがとうございます。 上記方法で検討したいと思います。 助かりました。