2017-05-08 70 views
0

我無法獲取保存我使用VBA編輯的表單以隱藏(或取消隱藏)列的Access。基本代碼如下。我打開表單(在數據表模式下,因爲我正在更改ColumnHidden屬性),進行更改並關閉並保存,但不保存更改。試驗中,我將acSaveYes更改爲acSavePrompt,甚至沒有提示我保存。這與數據表模式有什麼關係?從來沒有在設計模式下做過類似編輯的問題。如果是這樣,我該如何製作並保存這樣的變化。感謝您的任何想法!使用acSaveYes關閉時無法保存訪問表單編輯

DoCmd.OpenForm "Form1", acFormDS 
Forms![Form1].MyColumn.ColumnHidden = True 
DoCmd.Close acForm, "Form1", acSaveYes 

回答

0

即使您顯式保存對象,使用VBA進行的更改也被視爲由Access臨時存儲,而不會保存。這種行爲是有意的(也是非常有用的,因爲它允許你根據你想要的任何東西隱藏東西,而不必擔心在用戶完成表單後恢復更改)。例外情況是,用戶首先讓VBA進行更改,然後切換到佈局視圖並進行其他更改,然後保存該對象。在這種情況下,VBA所做的更改將被保存。

據我所知,你不能改變這一點。很顯然,您可以手動進行更改並保存,或者根據您在某處設置的某些內容打開表單後檢查該列是否可見。