電子書籍の厳選無料作品が豊富!

Access2003のフォーム上にて,表示されているレコードの編集を禁止するチェックボタンをつける方法を教えてください.

日記データベースをつくっています.日付とタイトルと内容の記入欄を作ることができました.記入し終わったら,チェックボタンにチェックを入れることにより,そのレコードの編集を禁止したいと考えています.

どのように行えばよいのでしょうか.

A 回答 (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

と入れておいては?
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/03 12:51

チェックボックスのクリックイベントで


他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。
逆にFalseにすれば書き込み可になります。

逆の設定だと各テキストボックスの更新前イベントで
チェックボックスの状態でCANCELをTrueにして更新前のデータに戻す方法もありますが...
    • good
    • 0
この回答へのお礼

さっそくの回答,ありがとうございます.
>他のテキストボックスのLock(編集ロック)をTrueにすれば書き込み禁止になります。

これは具体的にはどのように行えばよいのでしょか.もしお手間でなければ詳しく教えていただけませんか.

お礼日時:2007/03/02 20:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!