Modules & VBA :: Export Single Record To MS Word Template
May 25, 2015
I am working in Access 2013.I'll be performing a series of inspections at a number of intersections for a small community. The data being captured is consistent from site to site and lends itself to a database application, and what I would like to do is the following:Use forms to capture the data.Generate a report to preview the output for a single record. I may ultimately decide to set the report datasource to a query.Attach a macro to a button that exports fields from that record to a template based in MS Word.The first two bullet items I can handle with my limited Access capability. Each file has to be individually reviewed and saved, and each file will ultimately contain an electronic signature.
I would like to have a button (cmdPrintIntroLetter) on my Client Details form that takes the client name, address and company data of the record that I'm currently viewing and putting it into an address box in a Word document.
e.g. when I contact a new customer and input their details into my form I want to then be able to send them an introductory letter (standard wording) from me with just the click of a button.
FAO: FirstName LastName CompanyName Address1 Address2 Address3 Town County Postcode
I've been faffing around with concatenating my address fields into an address textbox in a report but I really don't like using a report to write a letter, it just feels wrong - on every level.I also want another button (cmdEmailBrochure) which opens an email template using the records email address and inserting the name of the client into the body of the email.
I'm using the below to merge an access form into a word template (it's a starter for 10).
That works fine. What I need to do is save the word template as HTML so I can then upload it to my website.
Dim wordApp1 As Word.Application Dim docPath1 As String Dim fileName1 As String Dim PageName As String PageName = Forms!Frm_Page_Create![Page] docPath1 = Application.CurrentProject.Path & "Merges"
I'm doing a project for my work. I created a few reports in Access. Some of these reports are simple graphic bars. How can I insert these reports into a word document template?
I have a form with fields that contain the address/postcode etc of the person in question, and I also have a template letter that needs to have said persons address/postcode etc at the sending stage after a button is clicked.
I have the following VBA code that auto populates a word template:
Private Sub Command24_Click() On Error GoTo ErrorHandler: ErrorHandler:
[Code].....
The code executes flawlessy but there are three values that are based off check boxes set as YES/NO (EMPLOYEDATREGISTRATION, EMPLOYED and FRINGEBENEFITS). These values show up as -1 for YES and 0 for NO.
Is there anyway to add code to mine that would allow me to change these values before they are sent to the Word template?
I have a few problems and I want them to be able to be done from switchboard:
1. Is there a way for me to export a particular report (after selecting it) to a closed excel template, that is formatted? It would open the excel template (that has a logo and column headings), export data to below the column headings, then save the file with a unique name?
2. Also, a way to import data from an excel file, after allowing the user to select file? Only data below the column headings mentioned above. Same data will be appended to existing table.
In my DB I have a query that I need to create a static webpage from, now in excel I can do the record button and bingo, but access is a lot more confusing.
I have a template named doc_tplt.html that when I do the export from the query it creates the webpage using this template.
I want to have a form with a selection of command buttons on it to export to html using the template for various queries and tables.
What is the VBA code to export the query (qry_docs) and apply the template (doc_tplt.html) and save to the same directory as the DB itself.
So I press a button on my Form1 and my tbl_customers table is exported onto a specific sheet in a templated Excel file "customer-template" that I have created.
This file has formulas on another sheet that based on the imported data.
The file is then saved to a specific location C:AccessCustomersHistory with the file name based on a date that was criteria from my original form E.g. "customers 11-02-15"
What I want to do instead is open an existing .XLSM wokrbook delete or update the 7 sheets it creates and replace them with the new query results from access.
I love this code below because it works really well but now I have a new requirement. I have a workbook that has a "dashboard" sheet that looks at the sheets from acccess and summerizes the data. So, I'd like Access to open that "template" excel workbook and delete the old sheets and put in the new ones..The required sheets to keep are called "Metrics", "Validation" and "Mara"
What I was trying to do for the past few hours was another work around which was to have Access run this code, then excel run some code to import the "dashboard" formulas but I can't get it to copy to another workbook because it links to the OLD workbook..Here is the working code that needs modding:
Code:
Option Compare Database Public Function ExportAdvanced() Dim strWorksheet As String Dim strWorkSheetPath As String Dim appExcel As Excel.Application Dim sht As Excel.Worksheet Dim wkb As Excel.Workbook Dim Rng As Excel.Range Dim strTable As String Dim strRange As String Dim strSaveName As String Dim strPrompt As String Dim strTitle As String Dim strDefault As String
I am trying to create a form with a button attached to each record that would allow the user to click the button and it would automatically open outlook and fill in the TO:, SUBJECT: and BODY: fields. Here is the code that I currently have:
Code: Private Sub Command33_Click() Dim strEmail As String Dim strMsg As String Dim oLook As Object Dim oMail As Object Set oLook = CreateObject("Outlook.Application") Set oMail = oLook.CreateItem(0)
[code]...
There are two issues I keep running into:
1. This code opens outlook and populates all of the fields but pastes the email incorrectly. Instead of pasting just the email (email@email.com) it pastes the html tags as well (email@email.com#mailto:email@email.com#) which means that the user would have to delete everything between the #'s in order to send the email every time.
2. I currently have the email BODY pulling from a table but this obviously limits what I can do. I would like to simply encode the BODY within the VBA code. The setup I am looking for is: one paragraph a blank line a hyperlink to a website a blank line another paragraph
I am trying to export an attachment item (Picture .jpg) to a word document. I have been exporting text to a word document successfully with below syntax "
With rst strLandSalesID = Nz(.Fields("LandSalesID")) strPhotograph = Nz(.Fields("Attachments"))
Hi I have a database and I want to basically use table fields to load into a Word template and I want this done via code, i.e a button....any help very much appreciated!
i have a form and was wondering if it was possible to take some of the fields and drop them into a template word document from inside access. so as to create a button that when clicked opens up the template and transferes the wanted form data.
any idears how to automate this process would be greatly appreciated
I am creating a db for my work place that records incidents that take place. I am a novice at Access but I have made different tables, queries, forms and reports and they all work.
I was wondering if there was a way to extract data that a user enters into a form and then use that to populate a word template *without* coding using VBA? I am really a beginner and not confident with VBA at all. I have read the forum and that seems to be an option (but would rather something else if possible!)
I have my word template set up such that some data is copied from the open form into the document and some data is taken from a table which is created from a query based on the content of the form (the record number). This works well HOWEVER (there's always a however isn't there :rolleyes: ) where two users click on the button at exactly the same time or within a very short space of time the query only runs once and either the database crashes (bad) or the document is created for the second person with the wrong data (very bad).
How can I make it so that only one person can run the query at a time (ideally build in a delay in processing so that the query will run for them when the first person has finished...failing that a message to say please try again later)? They will always be working with a different record.
I'm a bit stuck as to what to search for in the forum for an answer to this so haven't really searched.....sorry :(
I was thinking today if it is possible to fill Access reports based on a specific Word template? I don't want to populate a Word file with Access data as users of my app might not all have Word. Or is there another solution using a WYSIWYG editor where users can format everything according to their needs? That would be fantastic.
Hello, I am here back in the forum because would like some help to define a code.
Meloncolly has already helped me but I think that I have mixed up two pieces of code and cannot find the solution.
I need to export my access data to a document in excel. I will select the recorset of the data to export, using a combo box on a form named MENU.
The excel file is a template named MASTER. Before the recorset is copied, I need to make a copy of the template via code. The copy will be the document into which copy the data. Once the data is copies, I would like an input box asking users if they would like to save the new excel file and be able to name it with the name they will type in the input box.
My last problem is that the database is used by 20 users and what happens if are all exporting to the template? Will this automatically name itselft, MASTER1, MASTER 2, etc?
This is the code that I am using and tried to put together. It does copy the data into master 1 but leaves the template opened. It also tells me that there is something missing.
THanks:
Private Sub ExportToExcel_Click() Dim myid Dim obj As Object Set obj = GetObject("C: estMaster.xls") 'Dim mypath
myid = Me.[MyCombo] 'grab the three field values from the table Dim mySSN, myFirstname, myLname mySSN = DLookup("[WESSN]", "[MASTER]", "[id]=" & myid) myFirstname = DLookup("[WEFN]", "[MASTER]", "[ID]=" & myid) myLname = DLookup("[WELN]", "[MASTER]", "[ID]=" & myid)
'open excel and the required file Dim appXL3 As Excel.Application Dim blnStartXL3 As Boolean
On Error Resume Next ' Check if Excel is already running Set appXL3 = GetObject(, "Excel.Application") If appXL3 Is Nothing Then blnStartXL3 = True 'Else ' We have to start Excel ourselves Set appXL3 = CreateObject("Excel.Application") If appXL3 Is Nothing Then MsgBox "Can't start Excel", vbExclamation GoTo exit_handler End If End If With appXL3 '.Visible = True On Error GoTo Err_Handler
I have an access .adp project which is linked to a sql server tables (2008 r2), I have a button on an access form which I click and successfully gets customer details based on a query. What I wanted to know is when I am viewing a specific record i.e. details for Patient Number X, when I click on a mail merge button from their record form can the mail merge document only open with their details not all customers?
I have tried to delve into vba and modules to acheive this but I am a newbie.