2017-06-07 10 views
1

MS Accessのフォームにデータを入力すると、テーブルのフィールドが自動的に更新されることを理解します。ただし、この機能を無効にするにはどうしたらいいですか?最後にユーザーがレコードを更新するために[保存]ボタンをクリックできるようにするにはどうすればよいですか? VBAなどが必要なことを私が経験していないことをオンラインで読んでいます。MS Access:フォームの自動保存を無効にして保存ボタンを作成する方法

答えて

1

これはコードでのみ行うことができます。

モジュールレベルのブール変数を設定して保存(自動対手動)を制御し、保存ボタンをクリックするとその値をTrueに設定する必要があります。

Private mIsUserUpdate As Boolean 'Flag 

'Cancel Auto Save 
Private Sub Form_BeforeUpdate(Cancel As Integer) 
    If Not mIsUserUpdate Then Cancel = True 
End Sub 

'Manual Save 
Private Sub YourButtonName_Click() 

    '... 
    'Do work 
    '... 

    mIsUserUpdate = True 'OK to save 
    DoCmd.RunCommand acCmdSaveRecord 
    mIsUserUpdate = False 'Revert 
End Sub 
1

残念ながら、フォームで自動保存を無効にすることはできません。この問題を回避するには、一時テーブルにデータをコピーし、必要に応じてデータを編集し、変更したデータをメインテーブルに戻す「保存」ボタンをクリックすることができます。

@Kostas Kの回答に記載されているように、回避策としてレコードの保存をキャンセルすることもできますが、この場合は編集したレコードを変更することも、編集以外のコントロールを使用することもできませんサブフォームの場合はフォームを作成するので、保存ボタンは編集したデータと同じフォームに配置する必要があります。

関連する問題