2017-06-07 117 views

回答

1

這隻能在代碼中完成。

您需要設置模塊級布爾變量來控制保存(自動vs手動),並在點擊保存按鈕時將其值設置爲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.的答案中描述的一種形式,但在這種情況下,您將無法更改編輯記錄或使用編輯之外的任何控件如果它是子窗體,則保存按鈕應位於與編輯數據相同的窗體上。