Я не знаю, будет ли вас беспокоить ответ, но если у кого-то еще есть такая же проблема, вот пример того, как эта проблема работает:
Представьте, что есть ворота и охранник, который смотрит, кто входит, когда приходит первый человек (первый счет), охранник регистрирует его, открывает ворота (это событие «Load DataEnvironmet») и затем пропускает парня. Охранник считает, что никто другой не придет и не откроет дверь (инструкция считает, что DataEnvironment заканчивается, и значение EOF становится Истиной), но когда приходит второй парень (второй счет), охранник не может спросить его, кто (снова имеет значение и пропускает его, не регистрируя его (по этой причине второй счет-фактура и последующий счет-фактура будут пустыми). Решение состоит в том, чтобы закрыть ворота ("Unload DataEnvironment") после парня проходит (после показа данных отчета).
Решением является код, полученный из Sangita выше, но перед завершением подпрограммы вам необходимо выгрузить DataEnvironment, над которой вы работали.
Для меня это работает. Извините, если ответ не тот, который вы искали (а также, если кто-то еще не может понять, что я пишу, мой английский не очень хорош). На всякий случай напишу код с решением
Load DataEnvironment1
With DataEnvironment1
If .rsCommand1.State <> 0 Then
.rsCommand1.Close
End If
.Command1 Value(ID)
End With
DataReport1.Refresh
DataReport1.Show
Unload DataEnvironment1