我在access 2007 accdb扩展中有一个数据库,或多或少有30-40个表与相关的主键“local_number”。它是一个文本主键,长度为10。
如何将此主键的长度更改为30而不删除所有30个关系。
如何避免此警告并更改我的PK忽略此消息。
每个表中撰写PK的原因是记录中历史数据更改的要求。
更新,有人知道这是否可行,或者我想删除所有关系?
答案 0 :(得分:1)
您可以使用自动访问数据库对象模型和VBA代码
要知道必须替换哪些关系,您可以浏览数据库对象。
此代码可以激发您的灵感(即时编写/可能有错误/检查相应的帮助):
for i = 0 to mydatabase.Relations.count - 1
Debug.Print mydatabase.relations(i).name
for j = 0 to myDatabase.relations(i).fields.count -1
debug.print myDatabase.relations(i).fields(j).name
next j
next i
答案 1 :(得分:1)
使用现有关系制作数据库副本。
删除原始副本中的所有关系。
然后使用备份中的code to copy the relationships到原始副本。
我假设您为正在编辑的PK字段保留了相同的名称,但即使如此,您也可以在引用的URL中更改MS知识库中的代码以解释该问题。