Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

email using Lotus Notes R5 via Access 1

Status
Not open for further replies.

jdwm2310

Technical User
Jul 26, 2001
396
US
Hi,

Is there a way where I can email using Lotus Notes R5 via Microsoft Access 97

Thanks
 
I don't see why not, but the code you're looking for would be in Access. It'd be along the lines of creating a mail object in access and sending it. Windows may handle the default email package, but you may have to launch a Notes session in code. Have a look in the Access forum for more information.

Hope this helps Phooey
Andrew.j.harrison@capgemini.co.uk
Otherwise known as Windy Bottom.
 
This should work, it's VBA. place it in a module in access. you should be able to call it from a form or what ever. the only drawback is that lotus notes needs to be open to use it.

**************************code***************************
Public Function SendLotusNotes(ByRef Recipients() As Variant, Subject As String, BodyText As String, Optional Attachment As String = "", Optional SaveIt As Boolean = False) '
On Error GoTo errHandler
'Dim Recipients() As Variant, Subject As String, BodyText As String, Attachment As String, SaveIt As Boolean
'Set up the objects required for Automation into lotus notes
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)

'ReDim Recipients(0) As Variant in the calling function
' Uncomment to test *************************
'recipients(0) = "Someone@home.com"
'Recipients(1) = "SomeoneElse@home.com"

'Subject = "Access 2000 Multiple LN Test"
'BodyText = "This is a test of a multiple recipient LN from Access 2000"
'SaveIt = False
'***************************************************************

TryAgain: 'if an error occures and the retry button is used try again
'Start a session to notes
Set Session = CreateObject("Notes.NotesSession")
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string
UserName = Session.UserName
MailDbName = left$(UserName, 1) & right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
'Open the mail database in notes
Set Maildb = Session.GETDATABASE("", MailDbName)
If Maildb.ISOPEN = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = Recipients
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
If Attachment <> &quot;&quot; Then
Set AttachME = MailDoc.CREATERICHTEXTITEM(&quot;Attachment&quot;)
Set EmbedObj = AttachME.EMBEDOBJECT(1454, &quot;&quot;, Attachment, &quot;Attachment&quot;)
MailDoc.CREATERICHTEXTITEM (&quot;Attachment&quot;)
End If
'Send the document
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.SEND 0, Recipients
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
Exit Function
errHandler:
Select Case Err.Number
Case 429
If MsgBox(&quot;Lotus Notes wasn't open. No E-Notifications can be sent.&quot;, vbCritical + vbRetryCancel + vbApplicationModal, &quot;Sending Mail Error...&quot;) = vbRetry Then
GoTo TryAgain
Else
'your else statement here
End If
End Select
End Function
 
Razor X,

Could I change Access 2000 to Access 1997?
 
You could try, because I'm sure that the same object sending functionality exists... If you're working in 2000, try Tools/Database Utilities/Convert Database/To Previous Access Version. This will create an Access 97 version of the database. You may have to test this to ensure that all of the functionality still exists within the database.

Otherwise, I'm sure that similar functionality can be accessed within Access97...

Some people have had problems after converting to an earlier version of Access, but personally, I've never had any problems.

All I can say is try it and see.?

Hope this Helps Phooey
Andrew.j.harrison@capgemini.co.uk
Otherwise known as Windy Bottom.
 
before anything else I would like to apologize, I am fairly new to module I rarely work with it...
I copied the code exactly expect with the part that says Access 2000 I change it to Access 1997. Now what do I do, where do I put this module..
 
Look through the Access help files. Phooey
Andrew.j.harrison@capgemini.co.uk
Otherwise known as Windy Bottom.
 
Razor X,

I copied your code now how do I put the moduel to work on my form??
 
Write code to call SendLotusNotes.

Recipients is an array containing all of the people that you're mailing to.
Subject is the email subject.
BodyText is whatever you're putting in the message body.
Attachment is optional and is a file path.
SaveIt is optional and is a boolean (True or False).

So you'd call it with:
Code:
Call SendLotusNotes(namesarray,&quot;This is a Subject&quot;,&quot;This is the Body&quot;)

or
Code:
Call SendLotusNotes(namesarray,&quot;This is a Subject&quot;,&quot;This is the Body&quot;,&quot;C:\data\pic.bmp&quot;)

or

Code:
Call SendLotusNotes(namesarray,&quot;This is a Subject&quot;,&quot;This is the Body&quot;,&quot;C:\data\pic.bmp&quot;,True)

I'm sure that you get the general idea.

The Access help files are reasonably helpfull about general function call information.

Hope this helps.



Phooey
Andrew.j.harrison@capgemini.co.uk
Otherwise known as Windy Bottom.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top