MS Access не будет ссылаться на таблицы в скомпилированном бэкэнде - PullRequest
0 голосов
/ 07 января 2019

У меня есть небольшое приложение MS Access, которое использует интерфейс Front / Back end. Я решил заблокировать вещи немного плотнее, но мой интерфейс не будет связываться с таблицами, если он также скомпилирован (ACCDE). Связывание прекрасно работает, когда BE является ACCDB; Дело в том, что мне действительно нужно скомпилировать этот BE, потому что у нас нет файлового сервера, чтобы скрыть его, и в BE есть небольшой объем кода только для очень опасных (для данных) функций администратора.

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Да, как сказал г-н Каллал, проблем не должно быть. И оказывается, что нет, но в этом случае Front end делал что-то странное. Хотя менеджер связей таблиц не работал, потому что когда я выбирал «всегда запрашивать новое местоположение» и выбирал все таблицы, обычно он связывал все таблицы одновременно, однако в этом случае он связывал только одну таблицу за раз а затем повторно запросить местоположение. Когда я понял, что это успешно связывает каждую таблицу в отдельности, я повторял процесс снова и снова, пока все таблицы не были связаны. После этого Front end вернулся к работе в обычном режиме, соединив все таблицы за один раз. Я не уверен, что вызвало проблему; могло случиться так, что я каким-то образом перекрестно связался с различными версиями BE, и встроенный процесс connectedTableManager запросил местоположение для каждой отдельной таблицы, когда он видел более одного исходного местоположения. ИДК. Но спасибо за уши, парень ...:)

0 голосов
/ 07 января 2019

Я ничего не знаю о том, что мешает вам открыть внешний интерфейс и подключиться к внутреннему интерфейсу accDB или accDE.

Конечно, если ваш бэкэнд не имеет кода, поэтому компиляция в accDE ничего не даст. И это не улучшит безопасность, так как Access может свободно открывать accDE или accDB.

Компиляция accDB в accDE только удаляет исходный код VBA и соответствует приложению ТОЛЬКО с скомпилированным кодом VBA. В результате пользователи не могут изменять код или формы VBA или отчеты

Тем не менее, поскольку у серверной части ТОЛЬКО есть таблицы, то использования accDE вместо accDB очень мало, если вообще есть какие-либо преимущества.

Таким образом, создание accDE для серверной части на самом деле не приведет ни к чему большему, кроме как дать вам другое расширение файла. (Поскольку не существует кода VBA для компиляции).

Когда вы запускаете диспетчер связанных таблиц Access, он свободно позволяет вам выбрать accDB или accDE для источника этих связанных таблиц.

Возможно, вы сделали что-то еще с этим accDB (или теперь accDE), но то, что вы сделали или изменили, не может быть определено вашим сообщением в данный момент.

В целом, чтобы ответить на ваш вопрос?

Доступ позволяет свободно ссылаться на accDB или accDE для серверной части. Нет никаких очевидных причин, почему вам мешают это сделать, но в качестве «общего» выбора в Access допускается ссылка на accDE.

...