Access 2016 VBA, ошибка свойства UniqueTable 2455 и KB3115503 - PullRequest
0 голосов
/ 26 марта 2019

Мой вопрос представляет собой смесь вопросов разработки и администрирования, но поскольку он затрагивает в основном разработчиков и относится к инструменту разработки (Access, VBA и модели Form), я публикую его здесь и надеюсь, что не буду получить пламя. Сказав это:

Я преобразовал проект Access 2010 x64 .adp в Access 2016 .accdb, что было не слишком сложно. Но теперь, когда я запускаю код, который ссылается на свойство UniqueTable формы, я получаю следующую ошибку:

Run time error 2455 You entered an expression that has an invalid reference to the property UniqueTable.

Это известная проблема с Access 2013 и Access 2016; см. здесь , например.

Microsoft исправила ошибку - см. здесь .

И вот в чем проблема: несколько дней назад я установил Office 2016 x64. При попытке применить исправление, указанное выше, я получаю только следующее сообщение:

There are no product affected by this package installed on this system.

Конечно, я дважды проверил, что я использовал правильную версию (x64) патча. Я еще не пытался установить Office 2016 x86 и применить версию патча для x86.

Кому-нибудь удалось установить этот патч для 64-разрядной версии Office 2016? Согласно заявлению Джима Конрада (от второго к последнему сообщению здесь ), это решает проблему, но это не поможет, если мы не сможем установить его.

1 Ответ

1 голос
/ 27 марта 2019

Что ж, настройки таблицы uniquie действительно бесполезны в Access (не adp). Насколько я могу судить, этот параметр говорит (говорит), что Access должен использовать PK из таблицы исходных данных, и в результате не должен влиять на что-либо ценное, о чем я могу думать здесь.

Что бы я сделал, это открыл формы в режиме разработки в проекте ADP и просто очистил настройку ПРЕЖДЕ ЧЕМ вы импортируете таблицу в accDB. Проблема в том, что вы не можете получить и удалить этот ненужный параметр в accDB, но он сохраняется при копировании из ADP.

Итак, просто очистите параметр uniqueTable в ADP, а затем импортируйте таблицы. Вы также можете написать цикл и выполнить все формы за один раз, прежде чем импортировать их в доступ (поэтому, я думаю, работа с копией будет иметь смысл).

Таким образом, проблема заключается в том, что этот параметр сохраняется, когда вы копируете таблицу в accDB, но тогда вы не можете получить, изменить или удалить этот параметр, так как он не предоставляется с помощью кода или таблицы свойств.

Итак, простое решение здесь - удалить настройку в приложении ADP перед импортом форм в accDB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...