我有一個數據錄入程序,用於現場(無網絡 - 海洋研究)的使用。當用戶回到辦公室時,他們將數據提交給服務器以導入主SQL數據庫。然後它創建一個空的訪問數據庫文件並導出這些表(DoCmd.TransferDatabase),以便用戶爲其異地研究目的而擁有本地副本。我想要做的是使用DAO.Database.CreateRelation()重新創建新數據文件中的表關係。它工作,直到我需要一個表,需要兩個領域作爲PK或FK。如何使用vba創建多字段表關係?
Table1 Table2 Table3
SampleNumber 1--------M SampleNumber 1--------M SampleNumber
. LineNumber 1--------M LineNumber
. . HookNumber
. . .
. . .
Table1_PK -> SampleNumber
Table2_PK -> SampleNumber+LineNumber
Table3_PK -> SampleNumber+LineNumber+HookNumber
當我在我的函數中使用這樣的:
Set newRelation = db.CreateRelation(relationUniqueName, _
primaryTableName, foreignTableName, relAttr)
它返回一個錯誤:
3001: Invalid argument.
但只有當我嘗試建立上述關係。所有其他關係正確創建。
有沒有辦法做到這一點,或者我應該不擔心它,讓他們弄清楚它?
該表的佈局似乎不合邏輯給我。爲什麼兩個具有相同鍵(表2和表3)的表彼此連接而不是僅僅連接到第一個?我確信我在這裏錯過了一些東西,但我不明白你在做什麼。我們能否看到更多的數據模型? – mrunion
表1標識行程,表2標識該行程(2或3)上的行,表3標識行上的掛鉤(10)。 –