我有一个数据录入程序,用于现场(无网络 - 海洋研究)的使用。当用户回到办公室时,他们将数据提交给服务器以导入主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)。 –