2015-02-07 4 views
1

В приложении у меня есть две ленты: «Общая», которая используется для всех форм и для каждого отчета для каждого отчета. В форме стиля «Менеджер отчетов» пользователь может выбрать отчет и просмотреть его.Лента MS Access 2010, не меняющаяся от отчета к форме

Когда отчет открывается, он правильно отображает ленту отчетов. Однако, когда отчет закрыт, форматы Диспетчера отчетов по-прежнему показывают ленту отчетов, а не общую.

Как только эта форма закрыта, лента возвращается к общей.

Обратите внимание, что пользователи обращаются к этому приложению, как к accde, через Terminal Server.

Это неправильное поведение не происходит на локальной машине разработки, поэтому я подозреваю, что это связано с проблемой обновления «TS», что я заметил в нескольких других обстоятельствах.

Есть ли способ принудительно обновить ленту при закрытии отчета и отобразить форму Диспетчер отчетов?

ответ

0

Я бы рассмотрел в вашем стартовом коде захват дескриптора главной ленты (это не повторное отображение). Затем в докладах на событие закрытия выполняет ленточку команды недействительным, как это:

MyMainRibbon.Invalidate 

Так что вы можете «сила» ленточная повторно сюжет. Это предполагает, что вы всегда используете accDE, так как с accDB тогда любая ошибка без ошибок также будет потерять вышеупомянутый глобальный var, который содержит ссылку на ленту.

+0

Спасибо за предложение Альберт. У меня уже есть глобальная ссылка на ленточный объект, так как иногда я показываю/скрываю одну или две кнопки на ленте General. Я попытался добавить метод Invalidate к событию закрытия отчета, но это не сработало, возможно, потому, что отчет по-прежнему технически активен в этот момент? Я попытался добавить Invalidate в форму отчета «OnGotFocus», но он не запускается, не знаю почему. :( – maxhugen