Reports :: Email A Report With Address As Variable
Jun 10, 2014
I am using vista and access 2010, what I want is to be able to email a report from access that was created by a form with DoCmd.OpenReport "ReportOrder", acViewReport. I have a button that when i click it it will send the report via email, but the email address has to be a variable so when the report is created i can use the email that is attached to the report data.
I currently have details of my clients in a table called tblSites, this tble includes a field with an email address. I currently produce a invoice which is automatically saved as a pdf and an email generated with the invoice attached. However, a few clients do not have email addresses (these are sent by post). My code (see below) will successfully produce the email with the attachment, but if the client does NOT have an email address in the tblSites it comes up with the "Invalid use of Null" error. What I want it to do is continue the process of just saving the invoice with a Msgbox stating "This Client does not have an email address etc etc.
'Save Invoice as PDF and annotate Invoice Number, Date and site name
Dim StrFile As String Dim slSQLString As String Dim rsEmailAddress As Recordset Dim slEmailAddress As String StrFile = "C:Redwatch Invoices" & Forms!frminvoice!txtInvoiceNr.Value _ & "-" & Format(Date, "dd-mmm-yy") & "-" & Forms!frminvoice!cboSiteName & ".pdf"
The query Q_CurrentJobs is a list of jobs to send to the tech for today. (These are open jobs queried).
I need to run this query on the report (R_CurrentJObs) and send the report to each tech based on their individual jobs. The jobs are connected to each tech by its TechID.
The report list the job information for each tech (JOb number, Location details etc.)
When I click the button to send the email. I want to email each tech individually based on the Q_CurrentJobs query using R_CurrentJobs. (DoCmd.SendObject)
I want to get the link adress to an image in a report using VBA. I use the following code:
PHP Code:
Dim strPath As String strPath = [CurrentProject].[Path] & "builder" & FirstImage If Not Right(strPath, 7) = "bilder" Then Me.huvudbild.Picture = strPath Else Me.huvudbild.Picture = [CurrentProject].[Path] & "builder\_tom.jpg" End If
I get the following error (translated from Swedish): Error: 2424 The expression contains a field, a control or a property name that MS access couldnt find.
I have a form bound to a table which stores contact info for a person. I have two controls that are email_address and website_address. I set them both as hyperlinks. So now when the user clicks on the email_address Outlook opens a new message with an email_address in the To field. (I had to use a function found on this forum to replace the "htttp" with "mailto" on AfterUpdate event in order for this to work properly.) However, now trying to add some other features to my DB I ran into problems listed below. I wonder if I should have rather left that control as Text instead of Hyperlink, and use the DoCmd.SendObject on doubleclick event instead of using the above solution. How people usually store email addresses and enable emailing on click?
The problems I ran into: 1) My main form is in popup mode and therefore right click on the hyperlink does not give an option to edit the hyperlink 2) I copied a function from this forum which gathers a list of emails and sends one message to the emaillist. However, my email list instead of generating as: email1@a.com; email2@b.com it generates as: email1@a.com#mailto:email1@a.com#; email2@b.com#email2@b.com#
I guess I could extract the email using vba (not sure how), but I still don't know how to solve issue number 1. So maybe it is better to siwtch the field to plain text and forget the hyperlinks?
Thanks, Mariusz
PS. What procedure on double click would open a default browser, since I also have to deal with web addresses and thought of turning them into text controls?
I am currently using vb code to send an email in Access on the click of a button. I want the database user to be able to enter the recipient in a text box [ToEmail] which is on form [GroupStockProfiler]. However, I'm unsure how to put this into my code. I currently have the following which doesn't work (unless I put a specific email after 'To'):
I want to automate an email to include the senders email addres with some text in the body of the email.
Code: Private Sub send_mail_Click() Dim olApp As Object Dim objMail As Object On Error Resume Next 'Keep going if there is an error Set olApp = GetObject(, "Outlook.Application") 'See if Outlook is open
I have a form with 5 buttons on it. Each button is meant to select a warehouse location, so a query can be run to give an inventory report for that location. There is a separate query for each button and the OnClick event does properly modify the recordsource to give the appropriate data to the report for the location selected.
To this functionality I want the OnClick event VBA to pass the warehouse location to a textbox on the report, so the title of the report reflects that inventory location.
My code thus far is:
Private Sub Command5_Click() Dim mySQL As String Dim WHSE As String mySQL = "SELECT [Master Part List].[Part Number], [Master Part List].Category, [Master Part List].Description, [Master Part List].MaterialCost, [Master Part List].Inventory, [Master Part List].Update, [MaterialCost]*[Inventory] AS [Total Cost], [Master Part List].Warehouse"
[Code] ....
When I get the report, the textbox is empty, instead of containing the text value for the warehouse location.
I have now a report that span around 2 pages. It has subreports in the report that depening how many rows there are they can grow or shrink.I have the problem that the second page the top margin is to close to the top of the pager. The paper has a logo on the right top side. I can make the first page look nice under the logo, but the second page prints to close to the edge that prints over the logo. I did add a page break, but when the page 1 has more data, it flushes this to the next page. The page 2 is now page 3. How can I avoid that, or make it so that the margin of the second page/next page is on the correct lenght of the top. I tried it with the page setup, but it does not work.
In the detail section of my report, I recently added a second row which has only 1 text field. When the value of the textbox in the 2nd row is null, I want the total row height equal to just the first row. When the value in the textbox in the 2nd row is not null, then the total row height is equal to row 1 and 2. I tried to make the textbox in the second row invisible when it had a null value thinking that when it was null, the report would shrink to the first row height, but that didn't seem to work.
I have a subroutine that successfully builds a SQL statement "strSQL", which is a public variable.
Using msgbox, I can read that the value is correct - SELECT * from tblIncidents WHERE [Nature] = 'Hover';
(The select statement may be complex, e.g. [Nature] = 'hover' AND [COLOUR]= 'Blue' AND [GRADE] = 'High')
I want to pass the variable strSql to my report rptIncident in the following command:
Private Sub CmdPrintReport_Click() If Right(strsql, 1) <> "'" Then 'check if statement was built Else strsql = strsql & ";" 'add trailing ; to statement MsgBox strsql DoCmd.OpenReport "tblincidents", acViewNormal, , strsql End If End Sub
I get a flashing error, then runtime error 3075 - |1 in query expression '|2'.
I found the vba to generate multiple pdf's from a single report which is working well (see below).
The script below generates about 15 pdf files and stores them in the specified directory
I'd like to be able to now email these to the individual users (SCNAME) but cannot work out where to start, i've tried a lot of things from the research on emailing, just not working.
All the information I need is in one table which includes the users email address field (SCemail).
I've also created an update query which generates a unique file name into the field (SCInstallDate) (currently not using this field data)
Code: Private Sub cmdSC2PDF_Click() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("SELECT DISTINCT [SCNAME] FROM [Schedule];", dbOpenSnapshot) Do While Not rst.EOF strRptFilter = "[SCName] = " & Chr(34) & rst![SCNAME] & Chr(34)
I want to be able to email a report to several individuals and have only the data that pertains to that person attached in the email? Is this possible?
Every month I have to make a report about registration of hours of a group of employees. (These employees have a deal with direction about travel hours vs. working hours).This report has to be send to the group members but only the data which is valid for the group member in it. There are 11 persons in this group so I have to send 11 reports.
I made a query with the hours registered from this group. I couldn't export it because it was read-only. That was because the query contains joins to the employee table. After that I tried it with a report. That nearly went well but it contained all data and not the seperated info.What I need to know:What is easier/better: use a query or use a report?Is there code which looks in my query or the report and makes it into seperated reports?I've tried the code of Tony Hine but I can't make it work.After that I need to do a mail-merge. But first of all do I need to make the seperated reports to work.
I am trying to send an Email from a report . Using this code
Code: On Local Error GoTo Some_Err Dim MyDB As Database, RS As Recordset Dim strBody As String, lngCount As Long, lngRSCount As Long DoCmd.RunCommand acCmdSaveRecord Set MyDB = DBEngine.Workspaces(0).Databases(0)
I am creating a 2 level report to confirm an order. Main report already created, runs successfully called as subform/subreport under "OrderDetails" form. Linked to master using Order.ID. There are two versions of the confirmation report that have different layouts for different program types.
The hangup comes when I try to add a "Class Dates" subreport. It lists dates of individual classes and Skip dates. I have created the subreport as "srClassDates". When I add it to the main report, it lists the records. However, when I try to link it to the Main report, an error message box appears with the "object variable or With block variable not set".
I have tried rebuilding both the main and subreports, rebuilt the query, have not found anything that changes the result.
Linker has been working successfully on other subforms. Report with groupings works fine, but I need data from 2 tables both linked to order.id.
When I joined this forum last month, I attempted to enter my current email address and I got a message box that my email address had been banned. I tried several times to enter the correct (current) email address and each time was told that email address had been banned.
I attempted to contact 'jon@access-programmers.co.uk' on the 13th and 27th of April with no response.
As it is right now, this forum only recognizes my old email address instead of my real email address as that's the only way I could continue the join process.
Can anyone: 1. tell me why my current email address has been banned 2. help me get my correct information entered?
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."