Send Email with Access 2007

  • Follow


I used the code below in Access 2002 and it worked fine.  Just upgraded to 
Access 2007 and I am getting an error message as I try to send an email.  

The error message is:
‘The command or action ‘SendObject’ isn’t available now’

I have set a reference to Microsoft Outlook 10.0 Object Library 

I have MS Office 2007 installed (and Outlook 2007 is installed) but the 
reference seems to be pointing to Outlook 2002.  I referenced the highest 
order of Outlook that I could find in my available references.  I’ve seen 
higher order references in the list; for instance I have a reference for 
Microsoft Excel 12.0 Object Library (but no 10.0 Object Library)

Here is the code that I am working with:

Option Compare Database

Private Sub cmdMail_Click()
    On Error GoTo Err_cmdMailTicket_Click

    Dim varTo As Variant        '-- Address for SendObject
    Dim stText As String        '-- E-mail text
    Dim RecDate As Variant      '-- Rec date for e-mail text
    Dim stSubject As String     '-- Subject line of e-mail
    Dim strSQL As String        '-- Create SQL update statement
    Dim stWho As String         '-- Reference to tblUsers
    Dim errLoop As Error
    Dim strFirstName As String

    '-- Combo of names to assign ticket to
    stWho = Me.cboUser
    stWhere = "Users.strUserID = " & "'" & stWho & "'"
    '-- Looks up email address from Users
    varTo = DLookup("[strEMail]", "Users", stWhere)

    stText = ", please see the attachment." & Chr$(13) & Chr$(13) & _
             "Thanks," & RecDate & Chr$(13) & Chr$(13) & _
             "Ryan---"

    'Write the e-mail content for sending to assignee
    DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1

    On Error GoTo Err_Execute
    CurrentDb.Execute strSQL, dbFailOnError
    On Error GoTo 0

    Exit Sub

Err_Execute:
    Resume Next
Exit_cmdMailTicket_Click:
    Exit Sub

Err_cmdMailTicket_Click:
    MsgBox Err.Description
    Resume Exit_cmdMailTicket_Click

End Sub

Basically, I used to be able to select a record from a ComboBox, and send an 
email to that record.  Now, when I click the CommandButton, I get the error 
message: ‘The command or action ‘SendObject’ isn’t available now’

As an aside, I am running Office 2002 and Office 2007 (simultaneously) on my 
ThinkPad.  I have had trouble running several VBA-driven Access 2002 files 
(most give me errors, but some work perfectly well).  AFAIK, Office 2002 and 
Office 2007 work in on the same machine, right.  I’ve only had problems with 
VBA in Access.  I do lots of VBA work in Word and Excel too; Access is the 
only app that gives me problems

Thanks everyone!
Ryan---


-- 
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.
0
Reply Utf 2/1/2010 7:51:02 PM

ryguy7272 wrote:
>I used the code below in Access 2002 and it worked fine.  Just upgraded to 
>Access 2007 and I am getting an error message as I try to send an email.  
>
>The error message is:
>‘The command or action ‘SendObject’ isn’t available now’
>
>I have set a reference to Microsoft Outlook 10.0 Object Library 
>
>I have MS Office 2007 installed (and Outlook 2007 is installed) but the 
>reference seems to be pointing to Outlook 2002.  I referenced the highest 
>order of Outlook that I could find in my available references.  I’ve seen 
>higher order references in the list; for instance I have a reference for 
>Microsoft Excel 12.0 Object Library (but no 10.0 Object Library)
>
>Here is the code that I am working with:
>
>Option Compare Database
>
>Private Sub cmdMail_Click()
>    On Error GoTo Err_cmdMailTicket_Click
>
>    Dim varTo As Variant        '-- Address for SendObject
>    Dim stText As String        '-- E-mail text
>    Dim RecDate As Variant      '-- Rec date for e-mail text
>    Dim stSubject As String     '-- Subject line of e-mail
>    Dim strSQL As String        '-- Create SQL update statement
>    Dim stWho As String         '-- Reference to tblUsers
>    Dim errLoop As Error
>    Dim strFirstName As String
>
>    '-- Combo of names to assign ticket to
>    stWho = Me.cboUser
>    stWhere = "Users.strUserID = " & "'" & stWho & "'"
>    '-- Looks up email address from Users
>    varTo = DLookup("[strEMail]", "Users", stWhere)
>
>    stText = ", please see the attachment." & Chr$(13) & Chr$(13) & _
>             "Thanks," & RecDate & Chr$(13) & Chr$(13) & _
>             "Ryan---"
>
>    'Write the e-mail content for sending to assignee
>    DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1
>
>    On Error GoTo Err_Execute
>    CurrentDb.Execute strSQL, dbFailOnError
>    On Error GoTo 0
>
>    Exit Sub
>
>Err_Execute:
>    Resume Next
>Exit_cmdMailTicket_Click:
>    Exit Sub
>
>Err_cmdMailTicket_Click:
>    MsgBox Err.Description
>    Resume Exit_cmdMailTicket_Click
>
>End Sub
>
>Basically, I used to be able to select a record from a ComboBox, and send an 
>email to that record.  Now, when I click the CommandButton, I get the error 
>message: ‘The command or action ‘SendObject’ isn’t available now’
>
>As an aside, I am running Office 2002 and Office 2007 (simultaneously) on my 
>ThinkPad.  I have had trouble running several VBA-driven Access 2002 files 
>(most give me errors, but some work perfectly well).  AFAIK, Office 2002 and 
>Office 2007 work in on the same machine, right.  I’ve only had problems with 
>VBA in Access.  I do lots of VBA work in Word and Excel too; Access is the 
>only app that gives me problems
>
>Thanks everyone!
>Ryan---
>
I don't see anything wrong  syntax wise. Here's a sample of sending an email.
http://www.databasedev.co.uk/send_email.html

The only thing I can think of is some piece(s) of Office 2002 and Office 2007
could be interfering with each other. I have heard of people using 2002 and
2007 simultaneously, but I don't know if there were any situations/issues
with regard to the order of installations or the placement of files/folders.

-- 
Message posted via http://www.accessmonster.com

0
Reply orange 2/2/2010 2:15:44 PM


Thanks Orange!  I ended up loading my 2002 Office CD, did a repair, and the 
issue went away.


-- 
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.


"orange via AccessMonster.com" wrote:

> ryguy7272 wrote:
> >I used the code below in Access 2002 and it worked fine.  Just upgraded to 
> >Access 2007 and I am getting an error message as I try to send an email.  
> >
> >The error message is:
> >‘The command or action ‘SendObject’ isn’t available now’
> >
> >I have set a reference to Microsoft Outlook 10.0 Object Library 
> >
> >I have MS Office 2007 installed (and Outlook 2007 is installed) but the 
> >reference seems to be pointing to Outlook 2002.  I referenced the highest 
> >order of Outlook that I could find in my available references.  I’ve seen 
> >higher order references in the list; for instance I have a reference for 
> >Microsoft Excel 12.0 Object Library (but no 10.0 Object Library)
> >
> >Here is the code that I am working with:
> >
> >Option Compare Database
> >
> >Private Sub cmdMail_Click()
> >    On Error GoTo Err_cmdMailTicket_Click
> >
> >    Dim varTo As Variant        '-- Address for SendObject
> >    Dim stText As String        '-- E-mail text
> >    Dim RecDate As Variant      '-- Rec date for e-mail text
> >    Dim stSubject As String     '-- Subject line of e-mail
> >    Dim strSQL As String        '-- Create SQL update statement
> >    Dim stWho As String         '-- Reference to tblUsers
> >    Dim errLoop As Error
> >    Dim strFirstName As String
> >
> >    '-- Combo of names to assign ticket to
> >    stWho = Me.cboUser
> >    stWhere = "Users.strUserID = " & "'" & stWho & "'"
> >    '-- Looks up email address from Users
> >    varTo = DLookup("[strEMail]", "Users", stWhere)
> >
> >    stText = ", please see the attachment." & Chr$(13) & Chr$(13) & _
> >             "Thanks," & RecDate & Chr$(13) & Chr$(13) & _
> >             "Ryan---"
> >
> >    'Write the e-mail content for sending to assignee
> >    DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1
> >
> >    On Error GoTo Err_Execute
> >    CurrentDb.Execute strSQL, dbFailOnError
> >    On Error GoTo 0
> >
> >    Exit Sub
> >
> >Err_Execute:
> >    Resume Next
> >Exit_cmdMailTicket_Click:
> >    Exit Sub
> >
> >Err_cmdMailTicket_Click:
> >    MsgBox Err.Description
> >    Resume Exit_cmdMailTicket_Click
> >
> >End Sub
> >
> >Basically, I used to be able to select a record from a ComboBox, and send an 
> >email to that record.  Now, when I click the CommandButton, I get the error 
> >message: ‘The command or action ‘SendObject’ isn’t available now’
> >
> >As an aside, I am running Office 2002 and Office 2007 (simultaneously) on my 
> >ThinkPad.  I have had trouble running several VBA-driven Access 2002 files 
> >(most give me errors, but some work perfectly well).  AFAIK, Office 2002 and 
> >Office 2007 work in on the same machine, right.  I’ve only had problems with 
> >VBA in Access.  I do lots of VBA work in Word and Excel too; Access is the 
> >only app that gives me problems
> >
> >Thanks everyone!
> >Ryan---
> >
> I don't see anything wrong  syntax wise. Here's a sample of sending an email.
> http://www.databasedev.co.uk/send_email.html
> 
> The only thing I can think of is some piece(s) of Office 2002 and Office 2007
> could be interfering with each other. I have heard of people using 2002 and
> 2007 simultaneously, but I don't know if there were any situations/issues
> with regard to the order of installations or the placement of files/folders.
> 
> -- 
> Message posted via http://www.accessmonster.com
> 
> .
> 
0
Reply Utf 2/7/2010 3:37:01 PM

2 Replies
608 Views

(page loaded in 0.105 seconds)

Similiar Articles:
















7/30/2012 10:24:48 AM


Reply: