我撰寫了一個應用程式,它廣泛使用了 Access 表單上的自定義右鍵單擊選單。該代碼運行良好,用戶喜歡它,但最近我無法使其正常作業。
在早期版本的 Access 中,它運行良好,但較新的版本似乎在此類選單中可以放置多少專案方面受到更多限制。檔案對此事保持沉默,任何新聞組中的任何人都沒有任何有用的想法,但我經常在填充選單時收到有關堆疊空間、記憶體不足和一般鎖定的隨機錯誤。做一個 C&R 曾經有幫助,但現在即使這樣還不夠,有些選單我根本無法再填充。
我嘗試構建一個只構建選單直到崩潰的應用程式,以了解可能的限制,我遠低于所指示的內容,但實驗應用程式沒有其他內容,而真正的應用程式還有很多其他內容.
有沒有關于可以在這些選單中放入多少東西以及這些選單與哪些共享空間的資訊?可能有一些我可以做的另一種方式來為選單騰出更多空間。我嘗試將所有代碼移出表單,只留下在標準代碼模塊中呼叫例程的事件存根,但這并沒有幫助。
它們是如何存盤/激活的?當應用程式有這些選單時,它的加載速度要慢得多,即使在啟動時沒有運行任何代碼。
********** 編輯添加:
我使用 VBA 創建選單,如下所示:
Application.CommandBars.Add "RCStat", msoBarPopup, False, False
然后將其添加到控制元件中。像這樣:
Application.CommandBars.cboStat.ShortcutMenuBar = "RCStat"
我像這樣添加控制元件(僅彈出視窗和按鈕):
Application.CommandBars.Controls.Add(type:=msoControlPopup)
Application.CommandBars.Controls.Add(type:=msoControlButton, Parameter:="StatKod = 77")
It runs perfectly and the menu items work exactly as expected, except that it bombs after adding some number of controls. It doesn't seem to matter where I add them, just the total number of added controls hits some undefined threshold, and the app crashes.
I got the original code from Getz, Litwin and Gilbert, 2000 edition. Back then, it worked great. But as the versions advance and the app accumulates data, it is becoming less and less functional. However, there are only around 10,000 records, and the app itself is less than 100MB - nowhere close to any of Access's upper size limits.
uj5u.com熱心網友回復:
Pete,我在快捷選單方面做了很多作業,大約 5 年前創建了
uj5u.com熱心網友回復:
我們有一個商業產品Total Access Components,它包括作為其 30 個組件之一的右鍵單擊彈出選單,其中包括圖示和字體樣式。
這是彈出選單控制元件的資訊:https ://fmsinc.com/MicrosoftAccess/controls/components/popup-menu/
如果您想嘗試,可以免費試用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/443336.html
標籤:vba ms-access menu right-click
上一篇:找到一個不“包含”某個標準的值?
下一篇:訪問運算式生成器中的字串給出錯誤
