У меня есть приложение, которое поставляется клиенту с базой данных JET, включающей диаграмму взаимосвязей, которую приглашают просматривать более опытные пользователи, чтобы получить представление о построении базы данных.
У меня также есть код в моем приложении для обновления структуры базы данных, когда новые версии требуют новых таблиц, новых столбцов или измененных запросов. Я делаю это, проталкивая SQL через соединение ADO, он работает нормально.
Проблема в том, что если я добавлю новую таблицу с ограничением, которое связывает ее с существующей таблицей (например, я добавлю EmployeeHobbies с отношением FK к существующему PK в Employees), в то время как таблица построена правильно, новая отношения не отображаются на диаграмме отношений. Со временем диаграмма постепенно становится менее полной.
Существует ли программный метод, заставляющий Access обновлять свою диаграмму отношений из информации об ограничениях в базе данных или, если это не удалось, хранится ли диаграмма отношений в каком-то скрытом системном объекте, который я могу обновить непосредственно, чтобы отразить мои изменения?
Редактировать: я не смог дать понять, что мое приложение написано на Delphi, а не MS Access. Пользователи, имеющие копию MS Access, могут видеть диаграмму взаимосвязи, другие не могут.