2015-11-20 1 views
1

Я использую MS Access 2010 в Windows 7, в умеренно запертой корпоративной среде. Я разработал отчет, который вызывает несколько подписок и одну подформу, которая, в свою очередь, имеет несколько встроенных графиков. Различные субтитры извлекают данные из нескольких запросов, которые основываются на других запросах, некоторые из которых параметризуются. Два параметра (значения Year и Month) берутся из одной формы, содержащей кнопки для предварительного просмотра и печати отчета. Все таблицы данных являются локальными для файла .accdb; нет конца сервера.MS Access 2010 subreports работает нормально, но основной отчет зависает, только для пользователя, а не для dev. Почему, и как исправить?

Я разработал файл локально, а затем скопировал его в общую сетевую папку и протестировал. Все работает так, как ожидалось для меня - отчет занимает несколько секунд, так как работа с данными, по общему признанию, немного неуклюжа, но она по-прежнему отображается своевременно. Я в Калифорнии, общая папка находится где-то на Среднем Западе или Юге, и мой коллега находится в Техасе. Я попросил сотрудника открыть файл, ввести значения в форму и запустить отчет. Он получил предупреждение о том, что файл доступен только для чтения, но форма все еще работает, но отчет заперт. В частности, отчет начинает запускаться, индикатор выполнения перемещается примерно на 1/3 или 2/5-е, а затем останавливается. Сообщение об ошибке отсутствует.

У меня была сила принуждения-закрыть доступ, удаленный файл блокировки, предоставлен полный доступ к файлу соавтора и попросил его повторить попытку. Те же результаты, минус ошибка только для чтения. Ввод значений в форму и запуск отчета напрямую, а не использование кнопок, дает тот же результат. Я попросил его пройти через другие объекты базы данных, и все таблицы, базовые запросы, подзаголовки и подформаты открываются «мгновенно» с ожидаемыми данными и количеством записей. По какой-то причине, несмотря на то, что объединение всего этого просто приводит к сбоям Access каждый раз.

Коллектор делал долю экрана для начальных испытаний, поэтому я знаю, что он правильно следил за указаниями. Мы пробовали это без него, в случае, если пропускная способность была проблемой, без каких-либо улучшений.

Я пробовал поиск вариантов «блокировки/доступа к доступу к доступу к MS Access/зависания/зависания» через Google и SO, и получил кучу вещей о блокировке записей, что, я думаю, здесь не проблема. Если кто-то может предложить лучшие условия поиска, я играю их.

Используемые данные являются конфиденциальными, поэтому я неохотно отправляю код, но могу работать с дезинфицированными версиями, если это необходимо для решения.

ответ

0

Поскольку файл заблокирован только для чтения, любые выполненные вычисления, которые каким-либо образом записывают данные в таблицу, не будут работать. Я предлагаю вам дважды проверить разрешения безопасности, которые пользователь имеет в сетевой папке. Это включает как защиту NTFS, так и безопасность общих папок.

Ему необходимо разрешение на запись во всю сетевую папку (а не только файл базы данных), поскольку Access попытается создать файл laccdb и записать его в сетевой папке. Если у него нет прав на запись в эту папку, доступ не сможет редактировать файл laccd.

+0

Файл .accdb не находится в режиме только для чтения, когда он открывает его сейчас, и нет никаких действий в отчетах или базовых запросах, которые записывают данные в любые таблицы. Права доступа к папке могут быть проблемой. Мое понимание существующего набора правил заключается в том, что каждый может добавлять или создавать файлы, но только владельцы могут их удалить. Когда он открывает файл .accdb, он создает новый собственный .laccdb, поэтому кажется, что это не имеет значения. Однако это стоит того, чтобы выстрелить, поэтому я попробую это, спасибо. Любая идея, почему это повлияло бы на родительский отчет, но не на отчет? –

+0

Из любопытства, неужели вы не компактны и не ремонтируете его? Пока открытые вложенные отчеты должны работать, есть вероятность, что с этим родительским отчетом что-то не так. Вы можете попытаться создать родительский отчет еще раз и посмотреть, является ли это просто глючным отчетом.В течение многих лет у меня было много «ошибок» в Access, которые бросают вызов логике и исправляются просто путем воссоздания. – Xipooo

+0

Я не сделал ни одного из них, но я дам им выстрел, как только я услышу от коллеги. Все еще ждут результатов изменения прав доступа к папке. Благодаря! –