2013-12-18 26 views
1

重新保存現有的事件驅動的數據宏(這是一個後續的答案從前面一個問題here。)不能編輯或在Access 2010

我有一個包含一個表的Access 2010數據庫文件用Before Change數據宏:

Data Macro

我可以在數據表視圖中打開表並添加行,而數據宏的行爲與預期。但是,如果我在設計視圖中打開表格,請打開數據宏進行編輯,執行一些微不足道的操作,例如單擊其中一個宏步驟旁邊的[+]以展開細節,然後嘗試保存「更改」錯誤

'LookUpRecord'宏操作對'Look Up A Record In'參數有一個無效值。

我也嘗試在全新的Access 2010 .accdb中從頭開始創建宏,並獲得相同的錯誤。我已經在三臺不同的機器上測試了這一點:兩臺運行64位Access 2010的機器和一臺運行32位Access 2010的機器。所有機器都通過Microsoft Update進行完全修補。 (也就是說,他們目前正在運行版本14.0.7106.5003)。

測試時我注意到,這似乎與一個事件驅動的數據宏試圖用LookUpRecord同一表執行SELECT來數據宏適用於此。在某些其他表上執行SELECT不會觸發該錯誤。

我的問題是:

  1. 任何人都可以重現這個問題與Access 2010的補丁版本?

  2. 任何人都可以使用未打補丁的Access 2010版本(例如,從早期版本的全新安裝)對此進行測試,以查看後續修補程序 已損壞 是否發生了變化?

  3. 有沒有人見過的任何文檔或Internet喋喋不休表明特定表的事件驅動型數據宏應該(或應該)能夠通過自身執行SELECT做LookUpRecord

編輯 - 2013年12月19日14:10 UTC:

我只是訪問2010 SP1(14.0.6023.1000)測試這一點,得到了相同的結果。

+1

隨着完全更新的32位Access 2010,我得到了與#1相同的行爲。我發現Access對於「查找記錄」目標具有命名查詢。我將它命名爲* qryMaxOfPartNumSeq *:'SELECT c.PartType,Max(c.PartNumSeq)AS MaxOfPartNumSeq FROM custpart AS c GROUP BY c.PartType;'但是,我不確定這是否對您有幫助,而我不能提供點#2和3的任何東西。 – HansUp

+0

@HansUp謝謝。它符合我的工作理論,因爲命名的數據宏不與任何特定的表相關聯。似乎事件驅動的數據宏可以(現在)在其他表上使用SELECT來執行「LookUpRecord」,但不能在其自己的表上執行。 –

回答

2

我認爲問題是表別名。如果您在佈局模式下打開表格(只需在設計模式下打開NOT表格)。那麼你得到這樣的:

enter image description here

現在,您可以自由編輯的宏(如擴大行動),然後保存宏。

我懷疑這是一個無意的錯誤,因爲如果在設計模式下打開該表,那麼表被鎖定,並且宏無法獲取/檢查驗證查找命令中使用的SQL。

請注意,如果你只是在宏設計器中放置表名,那麼你沒有問題,這是99%的人在這種情況下做的。

大多數人不知道你可以在這裏免費的手型輸入!

保存設計器時嘗試驗證表中的SQL - 但表被鎖定在設計模式下。因此,在一個關於方式的回合中,這是一個錯誤,但很少有人遇到它,因爲很少在該查找記錄命令中輸入SQL。

我會注意到只需點擊它打開表格,而不是使用設計模式進行更改。並且在上面的屏幕截圖中注意事件按鈕是如何分開的按鈕,並且在設計模式下打開表格時更容易點擊。

注意的是,爲了直接從數據表中編輯數據的宏查看數據庫必須有「啓用在數據表視圖表設計更改」選項啓用:

dbOptions.png

如果沒有設置該選項那麼數據宏按鈕在數據表視圖中被禁用。