Ms-Access

根據 Access 2016 中另一個外鍵的條目填充一個外鍵

  • August 1, 2017

我目前有三個表,如下所示: 在此處輸入圖像描述

使用者通過表格輸入證書。我希望 CertCounty 根據選擇的 TownshipID 進行填充。我嘗試了以下數據宏: 在此處輸入圖像描述

但是,它給了我這個錯誤:

在此處輸入圖像描述

我很確定我對 Value 的表達是不正確的,因為它是在黑暗中刺傷的,我幾乎沒有信心它是正確的。我也對其他解決方案持開放態度,例如 VBA,只是不確定該怎麼做,因為我仍在學習如何使用數據庫,尤其是 Access。

只是因為

$$ TownshipID $$已填充(即不為空)並且因為在兩個表之間定義了關係,這些事實並不意味著該表$$ Townships $$是開放的並且定位在任何特定的記錄上。您必須專門指示 Access 打開表並查找相關記錄。您可以使用LookupRecord操作在更改前數據宏中執行此操作。

Look Up a Record In: [Townships]
 Where Condition: Townships.ID = Certificates.TownshipID

在該操作的組內是放置 SetField 操作的位置。


其他評論

數據宏最適合驗證數據。它們也可以像您一樣保持表格同步,但這些情況應該很少見,特別是如果您的表格已正確規範化。

看來 Certificates.TownshipID 是可選的,可以為空。我假設這意味著當沒有鄉鎮時,可以獨立指定縣為證書。正確的?如果是這樣,您的技術可能是合理的。否則,沒有必要將縣與證書一起儲存,因為它始終可以通過鄉關係檢索。

由於您已經有一個輸入證書數據的表單,您還可以將相關程式碼放在表單的模組中,例如在 TownshipID_AfterUpdate() 事件處理程序(或類似方法)中以檢索和更新縣資訊。

引用自:https://dba.stackexchange.com/questions/182303