2011-12-16 28 views
1

我有兩個Access數據庫:Main存儲我的大部分數據,Memos存儲數據類型備註的數據。我將備忘錄存儲在一個單獨的數據庫中,因爲我讀到的有關備註字段的所有內容都表示它們容易發生損壞,保護數據庫的唯一安全方法是將備忘錄放在單獨的鏈接數據庫中。訪問:在鏈接表上強加參照完整性

Memos具有表Info與字段: ID(類型自動編號主鍵) Info(類型備註)

Main具有表Content與字段: ID(類型自動編號主鍵) infoID(型編號) entryDate(類型日期/時間)

我想強制執行參照完整性Content,以便它只能接受來自表Info的有效ID的值。但我不能,因爲Memos是一個鏈接的數據庫。我可以在數據輸入過程中的另一個位置建立控件,以確保只有Info的值可以插入到Content中,但是如果有通過數據庫約束強制執行的方法,我寧可不編碼驗證。

是否有另一種方法來強制我不知道的鏈接表之間的完整性,或另一種方式來處理備註存儲問題,以便我可以將備忘錄保留在同一個數據庫?

+1

我認爲這是一個老問題,與更新版本無關(http://bytes.com/topic/access/answers/851398-memo-fields-multiuser-database)您使用的是哪個版本? – Fionnuala 2011-12-16 22:14:52

+0

@Remou,我正在使用Access 2010. – sigil 2011-12-16 22:31:46

回答

0

不,沒有辦法強制不同數據庫中的表之間的參照完整性。

恕我直言,最好的解決方案是建立一個MS SQL數據庫後端,並在該數據庫中設置參照完整性。一般來說,它比MS Access在你的情況(片狀網絡)中更健壯。您可能能夠脫離SQL Server Express版本。