- ベストアンサー
Access2003のフォーム上にてレコードの編集を禁止するチェックボタン
Access2003のフォーム上にて,表示されているレコードの編集を禁止するチェックボタンをつける方法を教えてください. 日記データベースをつくっています.日付とタイトルと内容の記入欄を作ることができました.記入し終わったら,チェックボタンにチェックを入れることにより,そのレコードの編集を禁止したいと考えています. どのように行えばよいのでしょうか.
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
日付とタイトルと内容・・・ のテーブルに新たに CHK というフィールドを加えます フィールドサイズは Yes/No型 初期値は Yes フォームに CHK フィールドも配置します。 フォームのレコード移動時イベントに Private Sub Form_Current() Me.AllowDeletions = Me!CHK Me.AllowEdits = Me!CHK End Sub とすれば CHK を Noに(チェックを外せば) 編集も削除も出来なくなります。(CHKの変更も含めて) 一旦、No にした後で、Yesに戻したいときには テーブルを開いて行ってください。(^^ゞ あと、間違ってCHKを外さないように CHK の更新前イベントに Private Sub CHK_BeforeUpdate(Cancel As Integer) If MsgBox("チェックを外すとと以後、編集も削除もできません", vbOKCancel, "確認") = vbCancel Then Cancel = True Me.Undo End If End Sub と入れておいては?
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
チェックボックスのクリックイベントで 他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。 逆にFalseにすれば書き込み可になります。 逆の設定だと各テキストボックスの更新前イベントで チェックボックスの状態でCANCELをTrueにして更新前のデータに戻す方法もありますが...
お礼
さっそくの回答,ありがとうございます. >他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。 これは具体的にはどのように行えばよいのでしょか.もしお手間でなければ詳しく教えていただけませんか.
お礼
ありがとうございました.無事できました.なるほど.