不確定是否有明確的答案,但我有一個帶有SQL Server 2008的Ms Access應用程序作爲數據存儲所有表都從Access應用程序鏈接到SQL Server,應用程序託管在Citrix服務器上。 應用程序中的所有表單都是綁定表單。當我試圖編輯或保存表單掛起的數據時,最近有一種特殊形式會引發問題,我必須殺掉會話。表單鏈接到SQL服務器上的一個表格,並且該表格具有Identity列作爲主鍵,我發現奇怪的是,此表單甚至沒有像任何其他表單那樣大量使用,並且表格甚至沒有任何一半的記錄其他大量使用的表格。只有4個字段的表單中只有一個字段是Nvarchar,其他表單字段的Nvarchar字段的方式更多,數據利用率也更高,並且它們似乎沒有引起任何問題。我正在排除網絡問題,因爲這會影響整個應用程序,而不僅僅是一種形式,SQL服務器上的索引也是每天構建的,所以我不認爲這也是索引問題。有沒有人知道爲什麼會發生這種情況。鏈接到SQL Server的訪問表單無響應
回答
如果您懷疑表單已損壞,則可以使用SaveAsText
和LoadFromText
方法將表單定義另存爲文本文件,然後使用其他名稱重新加載。
Application.SaveAsText acForm, "frmMainMenu", "frmMainMenu.txt"
Application.LoadFromText acForm, "frmMainMenu_new", "frmMainMenu.txt"
這些方法並不像Erik的建議那麼全面,但它們很快捷。您也可以嘗試反編譯來修復損壞。請參閱此鏈接上的2個答案:HOW TO decompile and recompile
如果損壞不是問題的原因,您可以嘗試在break(調試)模式下逐個瀏覽表單的代碼。在表單的打開過程中的第一個可執行行放置一個臨時中斷點。如果您沒有表單打開的過程,請添加一個。如果你不熟悉設置臨時破發點,你可以添加單詞Stop
:
Private Sub Form_Open(Cancel As Integer)
Stop
然後打開表單後,您可以通過一行代碼在與F8
關鍵一步一個腳印。希望你能夠識別導致代碼掛起的行。
我經過了幾遍代碼,我甚至爲ODBC跟蹤啓用了我的註冊表項[link](http://msdn.microsoft.com/zh-cn/library/bb188204%28v=SQL.90%29的.aspx)。當表單打開時,它被過濾爲記錄,但是當我查看ODBC跟蹤時,它每分鐘都會在場景後面加載10條記錄,直到我猜所有記錄都從表中拉下來,但對於所有表單綁定他們有更多的記錄所有記錄被拉下來的場景。就像我說過,它會加載額外的數據,這是不需要的 – Irfarino 2012-08-03 03:40:27
因此,然後你的表單的記錄源是一個大的記錄集,但你過濾設置爲一個?這可能有助於向我們展示該表單的記錄來源屬性。 – HansUp 2012-08-03 03:42:40
表單綁定到一個表,記錄源是表單屬性中的表(表名)。很抱歉忘記提及db的close屬性上的compact也被啓用,所以每次任何人關閉應用程序時db都會被壓縮。 – Irfarino 2012-08-03 03:48:40
嘗試重建您的Access前端。創建一個新的數據庫,設置特定於數據庫的選項匹配(字段行爲,關閉或打開自動名稱跟蹤,SQL語法級別等),然後導入舊Access中的所有表單,報表,宏,vb代碼和數據數據庫轉換成新的數據庫。正確設置啓動選項,並查看是否有更好的方法。
訪問數據庫可能會微妙地損壞,並且總重建有時是修復它們的唯一方法。
請確保您保留備份。
我改寫了造成問題的表單,而不是將其綁定到表格,我通過代碼提取數據並通過代碼更新它。該表單僅用於基於來自其他表單的過濾器來編輯一條記錄,因此將其綁定到表格並訪問將整個表格拖到場景後面是不必要的。我認爲這將解決問題,但我只是好奇,爲什麼會發生,因爲這種形式多年來從未引起問題,也許你的權利,形式可能會由於某種原因損壞。 – Irfarino 2012-08-03 02:51:33
- 1. 重新鏈接將表訪問到不可用的SQL Server
- 2. 更新表與鏈接到共享點的訪問鏈接的SQL Server
- 3. 鏈接表 - SQL Server 2008到SQL Server 2005
- 4. 鏈接到SharePoint列表的SQL Server表
- 5. 通過SQL Server中的鏈接服務器訪問OPEN Excel表
- 6. 無法通過SQL Server中的作業訪問鏈接服務器表
- 7. 訪問97前端 - SQL Server 2005後端鏈接表錯誤
- 8. 訪問ODBC到SQL Server的鏈接表允許插入但不更新
- 9. SQL Server未找到或無法訪問
- 10. 無法訪問SQL Server 2012
- 11. 導入訪問2013表到SQL Server
- 12. 簡單的鏈接列表 - 無法訪問節點
- 13. jdbc/Jackcess/Ucanaccess - 無法連接到鏈接到共享點列表的訪問表
- 14. SQL Server:通過鏈接服務器訪問鏈接的服務器
- 15. 從訪問到SQL Server 2008
- 16. TSQL在添加鏈接的SQL Server 2008 R2到SQL Server 2000時遇到問題
- 17. 無法將SQL Server中的表導入/鏈接到訪問中。太多的索引錯誤
- 18. 訪問SQL Server
- 19. 無法訪問CSS表格的響應式div表
- 20. 是否有可能將訪問表單連接到SQL Server視圖
- 21. 無法連接到SQl Server 2008 Express/SQl Server 2005(本地) - 錯誤40(服務器未找到/無法訪問)
- 22. 更新到SQL視圖失敗,從鏈接表訪問
- 23. SQL Server 2008 express中的鏈接表
- 24. 的SQL Server 2014 - 無法獲得SQL Server的帳戶訪問DB
- 25. 無法連接到SQL Server
- 26. 無法連接到SQL Server
- 27. 無法連接到SQL Server
- 28. 無法連接到SQL Server
- 29. MS-訪問:雙鏈接表
- 30. 如何通過點擊鏈接訪問ajax請求的響應?
即使我在PC上本地運行應用程序,也會發生這種情況。 – Irfarino 2012-08-03 02:46:53