• ベストアンサー

Access2003のフォーム上にてレコードの編集を禁止するチェックボタン

Access2003のフォーム上にて,表示されているレコードの編集を禁止するチェックボタンをつける方法を教えてください. 日記データベースをつくっています.日付とタイトルと内容の記入欄を作ることができました.記入し終わったら,チェックボタンにチェックを入れることにより,そのレコードの編集を禁止したいと考えています. どのように行えばよいのでしょうか.

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.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 と入れておいては?

hiyahiya12345
質問者

お礼

ありがとうございました.無事できました.なるほど.

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

チェックボックスのクリックイベントで 他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。 逆にFalseにすれば書き込み可になります。 逆の設定だと各テキストボックスの更新前イベントで チェックボックスの状態でCANCELをTrueにして更新前のデータに戻す方法もありますが...

hiyahiya12345
質問者

お礼

さっそくの回答,ありがとうございます. >他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。 これは具体的にはどのように行えばよいのでしょか.もしお手間でなければ詳しく教えていただけませんか.

関連するQ&A