I am using a macro and the SendObject method to email a snapshot of a report to 29 different program coodinators(which is working fine). Using the macro i have 29 exact reprorts except for the different criteria in the ProgramID field for each program. I would like to get away from the macro and code the SendObject method and specify the criteria for the ProgramID field for a single report. I will most likely use a SelectCase statement for the 29 different programs. Can anyone tell me how to set the varible criteria on a single report using the SendObject method.
I ran into this error message with the SendObject method. I'm getting the email address from the "username" environment variable. Our company generally uses the logon ID as the first part of everyone's email address, but there are some users that get this error: "Unknown message recipient; the message was not sent" Not only that, if two sendobjects are used one after the other, sometimes it sends to the first person and then the second one is set up to send a copy back to the sending user, it doesn't recognize the recipient that's logged on and is actually trying to send the email. That's the one that comes from the environment variable. But I've tried hard-coding the recipient and bypassing the variable altogether and it still generates the same error.
How can I have a user enter the WHERE criteria in the Set Rs statement below.
Set Rs = CurrentDb.OpenRecordset("SELECT [Net] FROM [tblRecap] WHERE [Yr] = 2000 and [Event] = 'lancaster'")
I would like a message box to ask the user to define the [Yr] = and [Event] = fields since they would change from time to time and then pass the values to the OpenRecordset method. Is this possible? Can someone help supply the code?
A parameter query won’t work because when you manipulate these queries in DAO through VBA you need to supply the parameter value before you open the recordset object. If you don’t DAO generates an error.
Here is my code:
Option Compare Database Option Explicit
Private Sub ReportFooter_Format(Cancel As Integer, FormatCount As Integer)
Dim ConsqWin As Long Dim ConsqLoss As Long Dim tmpWin As Long Dim tmpLoss As Long Dim Rs As DAO.Recordset Set Rs = CurrentDb.OpenRecordset("SELECT [Net] FROM [tblRecap] WHERE [Yr = 2000 and [Event] = 'lancaster'") Do While Not Rs.EOF Do While Rs!Net > 1 tmpWin = tmpWin + 1 Rs.MoveNext If Rs.EOF Then Exit Do Loop If Rs.EOF Then Exit Do If tmpWin > ConsqWin Then ConsqWin = tmpWin tmpWin = 0 Rs.MoveNext Loop
Set Rs = Nothing
End Sub
By the way the YR field is a number and not a date so the WHERE clause doesn’t need #2000#
I would like to display a report based on the table called "expenses", filtered by:
- "from" (datefrom field) and "to" (dateto field) date on "payment date" field; - multiple criteria on same field called "payment method" (I would like to include only payment methods "check" and "credit card", but not the other payment methods in the field, such as "cash", "transfer", etc.)
For that end I made a query based on the table "expenses", and in the "payment date", in the criteria field, I entered:
between [form]![formname]![datefrom] and [form]![formname]![dateto]
This works fine so far, however when I attempt to add multiple criteria on the "payment method" field, it does not filter accurately any longer. In the same row of the criteria field where I completed the date criteria, I enter "check". In the next row, same field, I enter "credit card".
Since it doesn't work, I tried putting both arguments in the same line as the date criteria (always in the payment method field) as: "check" and "credit card" but still does not work (now it filters the payment method correctly, but the dates filter appear as if I have never completed them).
I have 3 cross tab queries that are completely identical with the exception of the field that they pivot. Each field is searching for the same values just in different columns, with the end goal being to get the sum of the values for each pivoted column. I'm wondering rather than having 3 almost identical queries is there a way to use a crosstab to sum the values from each of the three fields rather that having 3 queries which then have to be aggregated in a fourth?
QUERY1
Code: TRANSFORM IIf(Count(PT_LEVEL.UNIT) Is Null,0,Count(PT_LEVEL.UNIT)) AS CountOfUNIT SELECT PT_LEVEL.INF_YEAR, PT_LEVEL.INF_MONTH, PT_LEVEL.UNIT
I have the sendobject currently working so that when the database is opened, it sends the required mail. But i would like it to send an email once a month, is there a way around this??
Does anybody know if it's possible, using the SendObject command, to change the Name of the attachment it creates? Rather than having the Name of say the report, changing it to tha date/time.
The DoCmd.SendObject command was working fine. Now it is giving me a run-time error '2501' saying "The SendObject action was canceled" Would anyone know why this is happening?? Thanks
PS:I looked up for this error number but it doesn't say anything related to the SendObject method
Currently running a Sendobject to auto email results of a query. One of the fields on the Table that the query looks at contains large amounts of punctuated(paragraphs etc) text, so format is set to 'Memo' to avoid the character limit. If i just run the query all the text will appear in the tabulated results view, however when I use the Sendobject function to run & send as Excel, only the first few words appear in the relevant cell in the spreadsheet, but if I run & send as any other format all the text appears.
The code below works for the one email address "Quality Assurance"...but I want to add more email values to SendObject command. If I do this: stEmail = Me.Quality_Assurance_Authorizer.Column(1) And Me.Engineering_Authorizer.Column(1)..... I get a Runtime error '13' Type mismatch. Is there another way of including a series of email values into the SendObject code below? The reason I'm using the value of the column is that sometimes the value may be null if that department doesnt need to be emailed. Thanks for any help.
Private Sub cmdPCAuthSend_Click()
Dim stDocName As String Dim stEmail As String
stDocName = "rptPCAuthReq" stEmail = Me.Quality_Assurance_Authorizer.Column(1) DoCmd.SendObject acSendReport, stDocName, "SnapshotFormat(*.snp)", stEmail, , , "PCA Authorization Request", "Please review this product change and authorize when appropriate."
I am trying to find a way to use the "DoCmd.SendObject acReport" feature WITHOUT using Outlook. Does anybody know of any code or a setting that will enable me to specify another e-mail program, such a Thunderbird?
I should add that I am using Access 2002, SP3, running in Windows XP Professional, Version 2002, Service Pack 2.
I am new to MS Access, and I am wondering if there is a way for Access to automatically send an email to a defined address everytime a record is added to a specific table? I have created an escalated issue table and I would need an employees manager to be notified automatically when a new record has been added to it.
When i use docmd.sendoject and try to attach my report in rtf it's dropping my checkboxes. I need the checkboxes...does anyone know how to solve this problem.
I'm using the sendobject method from access and it always puts the body of the email in plain text. Is there a way to specify HTML (besides the obvious of changing the format once it's open)?
Im using the code below to send information by email. BUT:
I want to send the same information to more than one recipient. can i write more than one address in the SendObject?
What can i do if i do not know prior to sending how many addresses i want to include. (this means that once i might have tosend it to 1, then later to 3, etc...)?
The code is:
Private Sub cmdMailTicket_Click() On Error GoTo Err_cmdMailTicket_Click
Dim stWhere As String '-- Criteria for DLookup 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 stTicketID As String '-- The ticket ID from form Dim stWho As String '-- Reference to tblUsers Dim stHelpDesk As String '-- Person who assigned ticket Dim strSQL As String '-- Create SQL update statement Dim errLoop As Error
'-- Combo of names to assign ticket to stWho = Me.cboAssignee stWhere = "tblUsers.strUserID = " & "'" & stWho & "'" '-- Looks up email address from TblUsers varTo = DLookup("[strEMail]", "tblUsers", stWhere)
stText = "You have been assigned a new ticket." & Chr$(13) & Chr$(13) & _ "Ticket number: " & stTicketID & Chr$(13) & _ "This ticket has been assigned to you by: " & strHelpDesk & Chr$(13) & _ "Received Date: " & RecDate & Chr$(13) & Chr$(13) & _ "This is an automated message. Please do not respond to this e-mail."
'Write the e-mail content for sending to assignee DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1
'Set the update statement to disable command button 'once e-mail is sent strSQL = "UPDATE tblHelpDeskTickets SET tblHelpDeskTickets.ysnTicketAssigned = -1 " & _ "Where tblHelpDeskTickets.lngTicketID = " & Me.txtTicketID & ";"
On Error GoTo Err_Execute CurrentDb.Execute strSQL, dbFailOnError On Error GoTo 0
'Requery checkbox to show checked 'after update statement has ran 'and disable send mail command button Me.chkTicketAssigned.Requery Me.chkTicketAssigned.SetFocus Me.cmdMailTicket.Enabled = False
Exit Sub
Err_Execute:
' Notify user of any errors that result from ' executing the query. If DBEngine.Errors.Count > 0 Then For Each errLoop In DBEngine.Errors MsgBox "Error number: " & errLoop.Number & vbCr & _ errLoop.Description Next errLoop End If
The email is sent correctly. However, in Access 2003 a copy was posted to the Outlook 'Sent' folder. Since we have moved to Outlook 2010, a copy is no longer posted to the 'Sent' folder. We miss having that copy.
Is there an option that I can set to post the email to the user's 'Sent' folder? If not, what about a BCC? How can I get the user's email address?
I use SendObject to send automatic emails from my application. Can I attach a table or an MDB file to the email? How do I do that? Or do I attach a table and it sends it as a text file?
I often output reports as a PDF. I also use SendObject to send emails from my application. But is there a way to send a PDF as an attachment with SendObject? Perhaps not, as the PDF would not be within my application?
I'm using DoCmd.SendObject to send an e-mail using Windows Live Mail.
Works great UNLESS the recipient name contains a "_" character as in
joe_blow@isp.com. joeblow@isp.com works just fine.
I get RT Error 2293 "Access can't send this e-mail message"
Is this a WLM problem? SendObject problem? VBA? my code?
Are there character restrictions for the e-mail name? If so that is bad because these are valid names for users. What am I doing wrong and how do I correct the syntax so that these e-mail names can be accepted?
I have a button to send automatic emails confirming interview times. The action works well, but I've reached the alotted number of characters and I'd like to add more text to the message body. how to extend the text limit?
Code below:
=[First Name] & "," & Chr(13) & Chr(13) & "It was a pleasure speaking with you today. We are confirmed to meet in the Harper Associates office on " & [Date Interviewed @ Harper] & " at " & [Harper Interview Time] & "." & Chr(13) & Chr(13) & Chr(13)
Have found some code that originated from this forum, and have modified it to suit my needs. There's one form with all the information, that has multiple buttons and subsequently multiple functions to generate emails, with each button/email to generate a different format and content. The first use of a button works fine, but trying to use the next button right after does nothing. If you exit the form and re-enter, you can then use the next email button, but that's a pain and the users won't like that. Can anyone help? I've pasted a sample of the code that is being used below, it's duplicated and changed slightly for the other buttons. I currently have the button linked to a macro that does other things like saving, and setting dates and then running the function.
Thanks, Don ----------------------------------------------------------------- Public Function AckEmailNew() On Error GoTo Err_cmdMailTicket_Click
Dim varTo As String '-- Address for SendObject Dim stText As String '-- E-mail text Dim stSubject As String '-- Subject line of e-mail Dim stTicketID As String '-- The ticket ID from form Dim strSQL As String '-- Create SQL update statement Dim errLoop As Error
varTo = Me.ClientEmail stTicketID = Me.STSITicket
stSubject = "Ticket/numéro de référence: " & stTicketID
stText = <<My text goes here>>
'Write the e-mail content for sending to assignee DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, -1
Send an email with an attachment.What do I want to attach?A PDF document that I have already uploaded to access and appended to the record I'm currently viewing.I can't find a way to attach a document I have uploaded to access. I'm not even certain sendobject supports that. I can't find any information on that anywhere.
I have a Macro setup and SendObject is one of the Actions. It is setup to send an existing report. Is there a way to insert a fieldname from that report into the Subject line of the e-mail that is sent? That would be great, instead of having the same subject line for every e-mail, using the date or something like that. Please let me know. Thanks.
I am using SendObject to send Outlook email messages from my application. On my development system, I get two Outlook warning messages each time I send an email. A user tested this on the live system today and said they got no Outlook warning messages.
Is this something that I can set? To not give Outlook warning messages?
When I send an email from Access with SendObject, how does it determine the user name, the 'from' name. Is it just the user's Outlook name? Do I have any control over that?