Доступ - отчет открывается и затем скрывается при закрытии формы открытия - PullRequest
0 голосов
/ 19 октября 2010

Я использую Access 2003 и у меня есть форма, которая собирает некоторые критерии фильтрации для отчета.Когда критерии введены, пользователь нажимает кнопку «ОК», и отчет запускается с использованием следующего VBA.

DoCmd.OpenReport "ReportName", acViewPreview

После открытия отчета я запускаю следующую команду, чтобы закрыть форму, которая собрала фильтрацию.критерии ...

Me.Close

Форма закрывается, однако отчет, который я хотел оставить открытым на переднем плане, скрыт.Есть идеи, почему это происходит?

Ответы [ 4 ]

1 голос
/ 21 октября 2010

Когда все остальное терпит неудачу с формами и отчетами, поступающими на передний план в нужное время, вы можете сделать это явно с DoCmd.SelectObject:

  DoCmd.OpenReport "rptMyReport", acViewPreview
  DoCmd.SelectObject acReport, "rptMyReport"
  DoCmd.Close acForm, Me.Name

Если это не сработает, есть что-то еще вовлеченноенапример, формы или отчеты, открытые с помощью переключателя acDialog, или формы / отчеты, для свойств Modal или Popup которых установлено значение True.

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

1 голос
/ 23 января 2015

Попробуйте установить для свойства отчета значение Модальное значение Да (в других свойствах).

0 голосов
/ 08 октября 2015

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

У меня есть кнопка на сводной диаграмме, встроенной в отчет.(Access2010) Когда я попытался просто напечатать отчет - любая фильтрация на сводной диаграмме не была перенесена в команду «DoCmd.Printout».

Было предложено использовать открытое окно предварительного просмотра печатино это никогда не получало фокуса.Мне пришлось щелкнуть по экрану, а затем вернуться к окну предварительного просмотра.Код ниже, кажется, исправляет это.

Private Sub Command1_Click()
DoCmd.Save
DoCmd.Close
DoCmd.OpenReport "R-MyReport", acViewPreview
0 голосов
/ 20 октября 2010

Работает ли закрытие формы, а затем открытие отчета? Я предполагаю, что это связано с перемещением фокуса назад и вперед между объектами.

EDIT

Ваш код должен выглядеть примерно так:

Private Sub Command0_Click()

    'your code here

    DoCmd.Close acForm, Me.Name

    DoCmd.OpenReport "Report1", acViewPreview

End Sub

Кроме того, нет собственной функции закрытия, как указывали другие.

...