2010-01-27 7 views
2

Je suis en train de se connecter à une base de données Lotus Notes via VBA dans Microsoft Access 2003. Le code que j'ai est la suivante:Comment me connecter à une base de données Lotus Notes via VBA?

Set nSession = CreateObject ("Notes.NotesSession")

Set nDatabase = nSession.GetDatabase ("CN = MT_N01/O = nom d'organisation", "LossPrevention \ BrchPrVI.nsf", False)

J'ai essayé des variantes pour le nom du serveur, mais rien ne semble fonctionner. Dans Lotus Notes, il apparaît sous la forme "Serveur: MT_N01/Nom d'organisation". J'ai essayé juste "MT_N01" et "MT_N01/Org Name", mais la variable NotesDatabase continue à être vide.

Des conseils?

Répondre

2

Je pense que le comportement est normal; VBA sait nDatabase est un variant/objet, mais ne sait rien de son contenu. Au moins, c'est ce que j'obtiens quand j'essaye votre code dans Excel 2003.

Essayez de renvoyer quelque chose de l'objet de base de données, par exemple nDatabase.ReplicaID doit renvoyer la chaîne d'identité de base de données. Si les bases de données ne sont pas correctement chargées, vous obtiendrez une erreur.

De nombreux liens utiles sont affichés en réponse à la question ".NET and Lotus Notes Interop.".

0

Si vous n'avez pas besoin de la classe NotesUIWorkspace et de ses classes enfants pour manipuler l'interface utilisateur du client Notes, vous devez utiliser la classe "Lotus.NotesSession" au lieu de la classe "Notes.NotesSession". Et selon la réponse de @Sagultay, vous devriez appeler le nSession.Intialize().

Questions connexes