У меня есть локальная машина (т.е. разработка) и виртуальная машина (т.е. производство). Между двумя я разрабатываю и поддерживаю несколько автоматических отчетов, используя Access, Excel и Lotus Notes.
Недавно мне поручили создать новый отчет, очень похожий на уже существующий. Итак, я просто скопировал соответствующий файл Access из Production обратно в Development, чтобы переработать его. И это не удалось. Путем проб и ошибок я сузил его до этого фрагмента:
Option Compare Database
Option Explicit
Global NtSession As lotus.NotesSession
Sub Main()
Set NtSession = CreateObject("Notes.NotesSession")
...
End Sub
Опять же, этот код отлично работает в продакшене, но теперь он ломается, когда я пытаюсь запустить свою разработку (я получаю ошибку «Несоответствие типов» в CreateObject). Самый простой способ обойти это — просто разработать мой отчет в продакшне, но это противоречит цели, не говоря уже о странности, что раньше он работал на моей локальной машине, а теперь нет. Итак, почему это выдает ошибку на моем локальном компьютере (т.е. Dev), а не на виртуальном (т.е. Production)?