我有tblUsers,其主键是UserID.
UserID在许多表中用作外键.在表中,它用作多个字段的外键(例如ObserverID,RecorderID,CheckerID).
我已经成功添加了关系(在MS Access’关系’视图中),其中我有表别名来执行每个表的多个关系:
* tblUser.UserID – > 1对多 – > tblResight.ObserverID
* tblUser_1.UserID – > 1对多 – > tblResight.CheckerID
在创建了大约25个与参照完整性强制执行的关系后,当我尝试添加另一个时,我收到以下错误:
“操作失败.表’tblUsers上有太多索引.’删除表上的一些索引并再次尝试操作.“
我运行了我发现的代码here,它返回我在tblUsers上有6个索引.我知道每个表有32个索引的限制.
我使用关系GUI错了吗?是否在我创建关系时(特别是在运行脚本时不会出现的索引)访问是否为执行引用完整性创建索引?我有点困惑,任何帮助都会受到赞赏.
好的,经过一些研究,我想我得到了这个问题的答案.显然,这是一个非常普遍的天花板,可以访问.我总结一下
this post我在下面找到:
原文链接:https://www.f2er.com/windows/364631.html每个表只能有32个“约束”.参考完整性(RI)的每个索引和强制执行都计入此32.当您选择强制执行RI时,MS Access会自动创建约束.你无法禁用此选项.
所有代码snipets和我通过谷歌找到的东西,返回我在桌子上有六个索引(因此我感到困惑).我没有发现/不知道的是,我的25个关系被计算在我的32岁之间,因为我执行了RI.
我对此的解决方案是将RI放在“较低优先级”字段上(这让我很难说),并通过数据输入表单“强制”它.
基本上,这是我即将迁移出访问并进入Postgresql的另一个原因.
如果有人有更好的工作,我很乐意在这里.谢谢.