我正在爲MS Access 2010中的購買數據庫開展非盈利活動,並且遇到了一個我無法使用其他資源解決的問題。將子窗體中的新記錄與父窗體中的記錄關聯起來
我有兩個與此討論相關的表格,一個採購訂單和一個訂單項。每個行項目記錄都有一個採購訂單編號(實際上是允許字母輸入的文本字段)與「強制引用完整性」打開,一個採購單到多個採購項。)爲了編輯採購訂單,我有一個表格,這是我最初使用嚮導創建的,但從那以後已經進行了大量修改。在採購訂單編輯表單中是一個子表單,其中顯示採購行表的數據表視圖,該採購行表由當前在主表單中的採購訂單進行過濾。
最初,當我在子窗體中創建新記錄時,它會自動將鏈接PO字段設置爲當前PO。這樣,新的採購行記錄就與當前的採購訂單相關聯。然而,最近在鏈接字段中創建了沒有值的新記錄,除非手動選擇該列中的採購訂單,否則記錄將在保存時從視圖中過濾掉。
所以問題是,什麼屬性控制如何在這種類型的子窗體中初始化新記錄?是否有另一個可能導致此行爲的問題?
不幸的是我沒有馬上注意到這個問題,所以我不知道它的工作和失敗之間有什麼變化。此外,它似乎是間歇性的,在幾天內工作,而不是其他人(但在一天內不會改變)。我認爲這只是意味着我錯過了另一個變量。
,我嘗試過的一些事情,根據我的研究,詢問這裏之前:
此前,子窗體的「鏈接主字段」屬性設置爲父窗體的「ID」字段。我現在在主窗體中創建了一個文本框,該文本框鏈接到該字段並將其設置爲主字段。說實話,我不明白這會有什麼幫助,但多個如何操作的指南推薦它。
使購買行表中需要鏈接字段。這可以防止記錄消失,但不會更改初始化。
強制兩個字段之間的參照完整性。正如我所說,它現在被強制執行,但最初並非如此。這並沒有引起任何明顯的變化。
在進入子窗體之前手動保存記錄。同樣在退出之前保存子窗體記錄。
非常感謝您的任何建議。
這可以在我的系統上正常工作。你可以開始一個新的簡單的數據庫,看看你是否遇到相同的問題?也許它是數據庫特定的。 – RLH
新數據庫沒有相同的問題。他們工作得很好。我無法找出導致這個人不工作的差異,但不幸的是,我已經花費了太多的開發時間來重新開始工作。 – Ethan48
由於問題僅限於一個數據庫文件,請參閱反編譯是否可以解決該問題。 http://stackoverflow.com/questions/3266542/ms-access-how-to-decompile-and-recompile反編譯可以修復編譯的VBA代碼中的損壞。不過,我並沒有太大的信心可以幫助解決這種情況,因爲我不瞭解在前一天失敗的情況下,應用程序如何能夠正常工作。 – HansUp