Я поддерживаю пользователей, которые используют MS Access в качестве внешнего интерфейса для просмотра некоторых таблиц Oracle в нашем институте. Как правило, они используют для написания специальных запросов конструктор запросов Access, а также они любят LOVE Access, поскольку он позволяет им создавать печатные отчеты без необходимости выполнять длительные и дорогостоящие запросы на программирование через наш отдел технической поддержки.
При создании ссылки на внешнюю таблицу их иногда просят идентифицировать первичный ключ таблицы. Конечно, как они могут иметь какое-либо представление о том, какими будут поля первичного ключа?
У меня такой вопрос: почему Access хочет знать, что является полем (ями) первичного ключа связанной таблицы? Индексирование должно происходить в исходной базе данных, не так ли?
Недавно у нас возникла проблема, когда пользователи начали переходить на Access 2007, который, наконец, был «исправлен» двумя способами: 1) новое соединение ODBC или 2) определение другого столбца первичного ключа для связанной таблицы. Моя техническая поддержка пыталась настаивать на том, что мне придется изменить свою практику, сказав моим пользователям выбрать правильное поле первичного ключа. Я утверждал, что это не должно иметь значения. Но я не могу отказаться от мысли, что MS Access не будет спрашивать, не имеет ли это значения для что-то . Просто не уверен, что это может быть.
Примечание: «проблема» описана в этом посте: Доступ 2007 к связанной таблице Oracle 10g - запрос с ошибочными результатами, но без ошибок