2013-08-02 53 views
2

我使用Microsoft Access作爲管理數據(以前存儲在電子表格中)的方式,以更多表格,有序和邏輯的方式。一切似乎都適合我的客戶,但她有一個問題:「是否有模式允許更改被恢復?假設我已經做了一些更改,並且我想恢復到原始版本, 那可能嗎?」Microsoft Access:運行「安全」模式(即允許更改被還原)

我理解她的擔憂並不亞於我想說「這是一個數據庫是如何工作的,您更改行,他們將被寫入該行立即」,我不能讓自己說出來。她一直在使用MS Excel,並且Excel有能力撤銷多個更改,並且如果還沒有保存,它還會恢復爲原始文件。對我而言,我覺得她擔心Access會帶來災難性的後果 - 一天她有點昏昏沉沉,並開始隨意改變整個過程,然後她無法恢復原始文件。 Bam。有什麼辦法/設置允許訪問不提交更改馬上,也許直到用戶點擊一些按鈕或東西:

就是我要問現在是這樣嗎?這不是Access的工作方式,請不要讓我回到好的Excel,因爲我喜歡並欣賞Access的寒冷WYSIWYG界面及其熟悉的數據庫環境。也許只是不是這個行爲,隨着數據庫。

+0

聽起來像你將不得不建立一個歷史。這是一個需要解決的重大問題。什麼是後端(即,存儲在Access中的表格,還是指向例如SqlServer的鏈接)?是否保證一次只有一個用戶? – RockResolve

+0

不使用SQL Server,我使用默認數據庫(猜測它是Access數據庫?)。實際上,一次只能有一個用戶,我想多用戶的想法從來沒有遇到過我的客戶的想法 – matt

回答

0

如果您正在尋找一個簡單的設置來保存歷史記錄,或啓用撤消或強制所有更改封裝在明確的交易中,那麼你運氣不佳,因爲Access沒有提供這些開箱即用的功能。

然而,有不同程度地實現所有這些功能的方法,從simple confirmation whenever the records are about to be changed開始,創建所有更改的日誌(以便用戶至少可以看到更改的內容),在修改記錄之前複製記錄等。

撤銷動作可能很簡單,就像恢復剛輸入的值一樣,但如果要撤消在數據庫其他地方創建或修改其他數十個記錄的動作,它可能會變得非常多毛。 如果在其後執行了其他操作(例如,連接到數據庫的其他用戶),則變得特別困難。

但是,有少數的東西,可以幫助你:

  1. 您可以跟蹤表單中所有的變化,並保持記錄的行動(在另一個表或只是一個文本文件):

  2. 可以使用Access 2010 data macros自動觸發一些動作(如重複的記錄或跟蹤的變化),不管什麼時候被更新或添加到數據庫中。

  3. 您可以使用各種形式的非綁定模式和手動設置的形式打開時的數據(或更改記錄),並只保存回數據庫在用戶完成時。

所有這些方法都需要工作和測試需要進行調整,以您希望提供用戶的體驗。

你可以做的另一件事是簡單地定期備份數據庫作爲備份,這樣,如果出現問題,你還沒有失去所有東西(這是強制性的,無論如何,我總是至少有一個每日備份系統)。

相關問題