• ベストアンサー

Accessで特定のレコードの更新規制について

私はAccess2000を使用している初心者です。 単票フォーム上であるレコードのチェックボックスにチェックしておくと、そのレコードの更新ができないようにできませんか? VBAはよくわかりませんのでマクロで設定できる方法があれば教えてください。マクロでは無理な場合はVBAでもかまいません。誠に勝手なことを申しますがよろしくお願いいたします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 チェックボックスのチェックが入った時に、フォーム上の各項目の連結コントロールを全て使用不可にすればいいのではないでしょうか。 ただし、チェック前に既に変更している場合は元の値に戻す必要があります。 レコード更新前なら、OldValueプロパティに元の値が残っていますので、それを代入してやります。 チェックボックスのClickイベントに以下のような感じでコーディングします。 Private Sub Check1_Click()   If Me!Check1.Value Then     '各項目の設定     Me!項目1.Value = Me!項目1.OldValue     Me!項目1.Enabled = False     ・・・(項目数分設定する)   Else     Me!項目1.Enabled = True     ・・・(項目数分設定する)   End If End Sub

関連するQ&A

  • アクセスで指定したレコードをフォームで開く方法?

    アクセスで、帳票形式のフォームで選択したレコードの内容を、詳細を表示する用のフォーム(単票形式)で開きたいのですが、どうしたらよいのでしょうか?(初心者です) 例えば、帳票形式のフォームで「予約番号:1」のレコード 選択した状態で、ボタンをクリックすると、 詳細を表示する用の単票形式のフォームの「予約番号:1」のレコードが表示されるようにしたいのです。 マクロでは出来なそうなので、VBAで・・・というところまでしか検討がつきません。 使用しているのはアクセス2002です。 どなたかご存知の方がいらっしゃいましたら、教えてください。よろしくお願いします。

  • Accessでレコードの保存をせずにフォームを閉じたい

    Accessでデータベースのレコード追加を行うフォームを作成しています。 コマンドボタン(1)をクリック→新しいレコードの追加 コマンドボタン(2)をクリック→フォームを閉じる としています。(ウィザードを使用して、埋め込みマクロ?を設定しています。) コマンドボタン(1)でレコードが追加されるのは問題ないのですが、 コマンドボタン(2)をクリックした場合も、レコードが追加されていることに気がつきました。 一般的に入力する人は、 データを追加しようと思って入力していたけれど、 途中でやめてフォームを閉じることってありますよね? そういう場合にレコードが追加されてしまったら問題だと思ったのです。 ですが、どうしたらレコードの追加をせずにフォームを閉じられるかがわかりません。 それって可能でしょうか? Access初心者です。難しいVBAとかはまだよくわかりません。 何か方法、アドバイス等ありましたら よろしくお願いします。

  • Access2000のレコードの移動について

    Access2000を使用しています。 データが50件ほど有り、単票形式でフォームを作成しています。 そこで、その単票形式のフォームに非連結のテキストボックスを入れて、そのテキストボックスに「3」などの数字を入れると、3件目のフォームにジャンプが出来るようなものを作りたいのですが・・・よろしくお願い致します。 (VBはほとんどわかりません)

  • Accessのフォームを更新させるには

    Access2000を使用しています。 レコードを検索できるように同フォーム内にリストボックスを老いています。 そのリストボックスにはこれまで入力した人の名前が列挙されています。 そのリストボックスのだれかをクリックするとその人のレコードに移動するようフィルタでマクロを使っています。 新しいレコードを入力すればそのリストボックスにそのレコードの名前が追加表示されると思ってたのですが、されません。 閉じて拓き直すとちゃんと更新されてそのリストボックスに新しい名前が表示されます。 閉じて開き直さなくてもよいようにするにはどうしたらよいのでしょうか? わかりずらい文面とは思いますが、わかる方宜しくお願いします。

  • ACCESS2000であるレコードまで進んだら別フォームに

    ACCESS2000を使って簡単占いソフトを作りました。 あるテーブル(質問集)から単票フォームを作成しました。次のレコード(質問)へはマクロボタンを割付し進むようになっています。 この場合最終レコード(最後の質問)でそのマクロボタンを押すと、別のフォーム(別の質問集)に切り替えるにはどう記述したらよいでしょうか? レコードの数は変わることはありません。 ACCESSは初歩的なことはわかり自分で作成もしますが、モジュールは全くわかりません。基本的なSQLの知識はありますが実践したことはありません。 わかりづらい点があれば、補足質問をお願いします。 宜しくお願いします。

  • あるレコードのフィールドだけ入力可能にしたい

    Access 2013 VBA フォームの帳票タイプで あるレコードのチェックボックスにチェックを入れた時だけ、そのレコードにある特定のフィールドのテキストボックスを入力可能にしたいです。 どのようにしたら良いでしょうか? 誰かお分かりの方おられましたら、よろしくお願いします (お正月でまだ誰も見る暇がないようですが・・・)

  • Accessでレコードの更新を任意のタイミングで行うには

    Accessではテーブル内のレコードを編集したあと、他のレコードにカーソルを移動すると、編集されたレコードが更新(コミット)されてしまいますが、このようなアクションを行っても更新(コミット)されないようにして、ユーザーが任意のタイミングで更新(コミット)出来るように設定することは可能ですか? VBAでロジックを組まなくても実現可能なら良いのですが・・・。

  • Access コンボボックスへのレコードの更新

    サブフォームにコンボボックスを設置しており、リストに無い場合に追加登録するためのフォームを開くボタンを作ってあります。 このボタンからフォームを開き追加して閉じたあと、メニューのレコードの更新をしないと元のサブフォームのコンボボックスに反映されません。 自動ですぐに反映させる方法、またはレコードを更新するボタンの設定方法を教えて下さい。 宜しくお願い致します。

  • Access2013 vbaサブフォームのレコード

    [Access2013 vba] ■したいこと サブフォームのレコードの中から、一レコードだけをチェックボックスなどで選択したいのですが、どのようにしたら出来ますでしょうか。 複数行選択は出来ないようにしたいです。 選択したのち、メインフォームの選択ボタンを押すと、そのレコードのID番号を取得して、呼出元のフォームのIDフィールドに代入したいです。 ■画面の流れ・・・ Aフォーム → 帳票型Bフォームで、レコードを選び「開く」ボタンを押す→ B 'メインフォームとCサブフォーム)が開く Cサブフォームのレコードをチェックボックスにチェックを入れて選択する B ' メインフォームの「選択」ボタンを押すと B ' メインフォームと、その前のBフォームが閉じて Aフォームに戻り、AフォームのIDフィールドに選択したIDが格納される。 よろしくお願いします。

  • アクセス レコードセットを更新できません

    アクセスは初心者ですが、会社で少しずつ勉強しながら、会社のアクセスのシステムを管理しています。 先日から、突然既存のアクセスのシステムで、フォームを入力しテーブルに追加しようとすると「レコードセットを更新できません」とメッセージが出てきて、データを更新できなくなってしまっています。 特にアクセスを変更したりしていないのですが、突然なってしまいました。 今まで問題なく動いていたので、なぜそういったメッセージが出るのか分からず、困っています。 どういった対策をしたらよいでしょうか。 ご助言をお願いいたします。