MS Access Client: LotusScript/COM/OLE to Web Access

We have a number of Access applications that include VBA code to reference LotusScript objects to carry out 2 main functions:

1. Search all available Lotus Notes Address Books for a particular name and return all matches. This functionality opens each of the ADDRESSBOOKS attached to the current Notes SESSION, then through the "people" VIEW cycles through each document to see if the name matches the search criteria, and if so the First Name, Middle Initial and Last Name, and the
FullName or MailAddress or ShortAddress are returned to be inserted in a list for the user to select from.

2. Send Email including attachment(s) if required. This functionality opens the default mail database within the current Notes SESSION and creates a new mail Document. If attachments are required these are attached to the document. Values are set for Subject, Body, SendTo, DeliveryReport and SAVEMESSAGEONSEND is set to true. The document is then sent.

The intention is to allow the sending of emails from within the application without having to switch applications. We did not use the SendTo method in Access because it insists on bringing up dialog boxes to select which Outlook Profile to use etc.

The users are now planning to move up to Domino 6.51 and away from the client version, preferring to go down the Web Access route. I would welcome any suggestions on how we can best replace the existing functionality that relies on the Lotus Notes client being on the PC, with similar functionality that does not.
Who is Participating?
qwaleteeConnect With a Mentor Commented:
You can do it with embedded controls.  You can also do it with external calls to the Windows API.  In WinINet.dll, there are several functions that alow you to do POSTs.  You just have to DECLARE them and call them.  Fairly simple and stable.  The ones of interest are:

InternetGetCookie (used for session login)
Well, that IS a tough one.  There has to be some connection somewhere, and some protocol somewhere.  Currently, your connection is the Notes client to Domino server connection, and your protocol is the Notes COM API.

So, what other connections and protocols are there?

1) CORBA/IIOP. Requires that you have a library that VBA can use to access CORBA, and that you have the NCSO.jar (which describes the AP to the CORBA client).  You woudl also have to configure the server to allow IIOP requests.  So, you do need some components on the client side, and you do need some configuration on the server side.

2) SMTP and LDAP.  For sending only, you can contact the Domino server as a standard SMTP server.  But you really have no way to do name lookups in SMTP -- for that you need to do LDAP lookups, because Domino can also be a standard LDAP server.  You will need components that suport SMTP sending and LDAP queries, and you will have to configure teh server to support LDAP.

3) Web interface.  You can design a basic DOmino web application that supports querying the address book and sending messages.  Get it to work as simply as possible for a web browser.  Then, use the same underlying web calls that the user makes via the browser, but completely automated from VBA.  I did some things like this once.  It isn't that hard, but it is a bit of a weird setup.

4) You MAY be able to do this with a DOLS client, which is really a slimmed down Domino server. Thing is, it does not register its Notes COM API, so you would have to figure out a way to register it and call it.
Sean_BAuthor Commented:
Thanks for your suggestions. It is reassuring to know that it is not just me thinks this is a tough one !

If I was to go down the web interface route, you say I could make web calls completely automated from VBA. How would I go about that ? Are you talking about using an embedded web browser control, controlling navigation and reading the properties of the html documents ? I have done something like this for a totally different type of web application, and it is a bit flakey...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.