Как мне подключиться к Lotus Notes DB через VBA? - PullRequest
2 голосов
/ 28 января 2010

Я пытаюсь подключиться к базе данных Lotus Notes через VBA в Microsoft Access 2003. У меня следующий код:

Set nSession = CreateObject ("Notes.NotesSession")

Установить nDatabase = nSession.GetDatabase ("CN = MT_N01 / O = Имя организации", "LossPrevention \ BrchPrVI.nsf", False)

Я пробовал варианты для имени сервера, но, похоже, ничего не работает. В Lotus Notes это выглядит как «Сервер: MT_N01 / Имя организации». Я пробовал только "MT_N01" и "MT_N01 / Org Name", но переменная NotesDatabase продолжает оставаться пустой.

Любые советы?

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Я думаю, что поведение нормальное; VBA знает, nDatabase - это вариант / объект, но ничего не знает о его содержимом. По крайней мере, это то, что я получаю, когда пробую ваш код в Excel 2003.

Попробуйте вернуть что-то из объекта базы данных, например, nDatabase.ReplicaID должно вернуть строку идентификатора базы данных. Если базы данных загружены неправильно, вы получите сообщение об ошибке.

Множество хороших ссылок опубликовано в ответ на вопрос .NET и Lotus Notes Interop. .

2 голосов
/ 28 января 2010

Я могу ошибаться, но я думаю, что вы должны вызвать метод Initialize () сеанса до его использования.

Взгляните на образцы здесь: http://www.ibm.com/developerworks/lotus/library/domino-msnet/index.html

0 голосов
/ 15 марта 2013

Если вам также не нужен класс NotesUIWorkspace и его дочерние классы для управления пользовательским интерфейсом клиента Notes, вы должны использовать класс Lotus.NotesSession вместо класса Notes.NotesSession. А согласно ответу @Sagultay, вы должны звонить nSession.Intialize().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...