我有一个附带JET数据库给客户的应用程序,其中包括一个关系图,请更精明的用户查看,以了解数据库的构造。
当新版本需要新的表、新列或修改的查询时,我的应用程序中也有更新数据库结构的代码。我通过通过ADO连接推动SQL来实现这一点--它工作得很好。
问题是,如果我添加一个带有约束的新表,并将其与现有表相关联(例如,我将带有FK关系的EmployeeHobbies添加到员工中的现有PK ),而该表的构造是正确的,则新关系不会出现在关系图中。随着时间的推移,图表逐渐变得不完整。
是否有编程方法强制Access根据数据库中的约束信息更新其关系图?否则,关系图是否存储在某个隐藏的系统对象中,而我可以直接更新该对象以反映我的更改?
编辑:我没有明确说明我的应用程序是用Delphi编写的,而不是make。拥有MS Access副本的用户可以查看关系图,其他用户则不能。
发布于 2010-11-09 18:18:35
我不知道RunCommand是否适合,但它的价值是什么:
DoCmd.RunCommand acCmdRelationships
DoCmd.RunCommand acCmdShowAllRelationships发布于 2010-11-09 18:14:57
你可以利用Stephen的SaveRelationshipView来实现这一点。他的代码将每个项的属性从关系视图保存到一个表中。稍后,可以从表中重新创建相同的布局视图。
您可以调整关系视图的副本,以确定tblRelationshipViews表中新行的值。然后让用户根据更新的表信息重新创建他们的关系视图。也许你甚至可以自动为他们做这件事。
https://stackoverflow.com/questions/4136464
复制相似问题