Ошибка подотчета MS Access при печати в PDF

Я разработал БД с MS Access 2013.

Я хочу распечатать один отчет, который включает 3 подотчета (subrA, subrB, subrC). Иногда в PDF-файле появляется ошибка # (на subrA). Он всегда находится в одном и том же текстовом поле.

Что странно, так это то, что я всегда показываю отчет (как предварительный просмотр), и ошибка не появляется. see printscreenЗатем я запускаю печать PDF и иногда (не всегда???) я получаю сообщение об ошибке (после возникновения ошибки в PDF у меня иногда возникает ошибка при предварительном просмотре отчета). см. принтскрин

Мои тесты:

  • Я попытался распечатать с помощью PDFcreator и DoCmd.OutputTo, возникает та же проблема.
  • Я попытался заменить subrA (ожидая поврежденного отчета), но все равно получаю сообщение об ошибке.
  • Я расширяю текстовое поле, чтобы убедиться, что оно достаточно велико в соответствии с содержимым,
  • Если я распечатаю все отчеты за один раз, у меня никогда не возникнет этой проблемы.

Похоже, проблема с отсутствием обновления, как будто Access не успевает (иногда) форматировать данные в подотчете перед печатью.

Есть ли у вас какие-либо идеи, чтобы поддержать меня или какие-либо идеи о том, что происходит?

Большое спасибо.

Дополнительная информация (добавлена ​​22 января 2018 г.)

Все данные в SUBR_A поступают из запроса. Код данных с ошибкой:

SomDom("QtyCalculeIngredient_UProd";"qryProduction_OFDetailsIngredients";"IdProduction=" & [IdProduction] & " AND Ordre<=" & [Ordre])

Этот вызов, возможно, слишком длинный для выполнения, и это должно объяснить, почему иногда происходит #error. Есть ли у вас идеи по сокращению времени запроса?


person Elen Glimois    schedule 18.01.2018    source источник


Ответы (2)


Функция предметной области (здесь DSum()) в разделе сведений может быть проблематичной.

В вашем случае кажется, что вы можете легко заменить это, используя ссылку RunningSum свойство, см.:

https://support.office.com/en-us/article/summing-in-reports-ad4e310d-64e9-4699-8d33-b8ae9639fbf4#bmrunningsum

person Andre    schedule 22.01.2018

Спасибо за поддержку. Кстати, я искал обходной путь для себя, и я изменил DSUM() на RunningSum, прежде чем опубликовать ваш ответ,

Конечно, это работает очень хорошо. Спасибо за советы!!!

person Elen Glimois    schedule 24.01.2018