Modules & VBA :: Losing Decimal Place In Mail Merge
Sep 4, 2013
My DB is merge in a currency field set to 2 decimal places into word. It's doing this by declaring the fields as variable, calling an instance of work then dropping the values into the bookmarks. All works fine....
When a value is 360.64 is fine, but when it's something that ends with a 0 (360.60) - is loses the 0 giving me 360.6.
I have a subform that is based on a SQL statement that sums by Dollar Amount and groups by Account. I have it set up so the user can double-click on an account, which opens an unbound form. I then have the form execute a SQL INSERT INTO statement, which works beautifully.
The form opens as a pop-up, and I have it requery the subform when it closes. However, when the pop-up closes, I go back to the first record on the sub-form. I need it to "remember" the record I was on and take me back to that one. What is the standard procedure for doing this?
Any simple working mail merge application with a one to many field filling into the word document. I have no problem with a one to one, but if the subform has 2 or more associated records related to the main form, I cannot pass all the fields. Build a recordset loop or concatenated script so I can learn from it and add it to an existing project.
I have a report in my database with a button called "MailMerge".
My aim is that when clicked, this will open a word document, that has already been created, but automatically complete the merge based on the data in a table.
The catches:
1) I need to be able to ask the user the content of the word document from within access, and automatically populate it
2) I need to be able to ask the user who has written the word document and automatically populate it
3) I need to use a document which I have already created, because of various reasons, but obviously the merge fields can be updated.
Currently, I am trying to append the results of the query into a table, TBL_Merge and then use code to both ask the questions above, and then complete the merge.
I'm wondering if it's possible to set up an automatic Outlook mail merge with attachments from Access. We have several account managers, and each one receives a different version of the same report - filtered to his/her accounts. For now, I have set it up for the user to select the account managers and hit "Print Reports" to save each individual report into a destination folder. The user then uses an email template, attaches the report, and sends the email to an account manager. She has to send this email separately to each account manager.
I know this is possible (e.g. opendatasource) but search as I might I can't get the exact code.
Scenario: Multiple front ends, in different folders, linked to single back end.
When mail merging, a temp table is created in FE - thereby different source for each user.
The Word doct is linked to a source (via Mail Merge) and I want to change that source according to the logon of the user, which is held on an open form.
Ideally like: Case Mary use C: Db1 emptable Case Tom use C:Db2 emptable
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.
I might be able to get "super easy mail merge" to work, but the problem is i want clicking the "merge" button to launch a file chooser box- so i can navigate to the word doc i want to use for the merge (destination doc will change with the currently selected record- i'm not merging a single record, however).
Basically i want to do exactly what right clicking on a table/query, then choosing "export" then choosing "merge with word" does (access 2007).
Can't do as a report because we may have "complex" letters- with graphics and/or tables.
why is something that is a simple right-click menu option so difficult to automate??
I basically have a form which the record source is either from a table or query and all I would like to do is to have a button which when pressed will open up a previously created word template and insert all relevant fields into the template. First Name, Last Name, Address etc.
I am looking to perform a mail merge from access to Publisher. I have linked everything together and got everything looking the way that I want it to look however...
What I want to do is when I perform the mail merge I would like publisher to save a copy of each individual record from the database as a specific file based on one field of the mail merge.
I will try to clarify...
One of the mail merge fields is ClientAccountNumber I would like the merge to save a copy of the publisher file into c:mailmerge as a PDF including the year 2014.
So this file(s)for example would look like C:mailmerge123456 - 2014.pdf C:mailmerge123457 - 2014.pdf etc...
Code: Sub MailMerge() ' ' Macro1 Macro Dim TempDocCreate Dim FileNameTemp As MailMergeDataField Set FileNameTemp = Application.ActiveDocument.MailMerge.DataSource.DataFields.Item("Box 22 Rcp Acct No") With ActiveDocument.MailMerge.DataSource Application.ActiveDocument.ExportAsFixedFormat pbFixedFormatTypePDF, Filename:= _ "L:Operations DatabaseProjects1042PublisherPDF2011 Merge" & "FileNameTemp" & " - 2011" & ".pdf" End With
I often create contract using mail merge. I have an access file that I want to use as data source for word file. But it does not automatically.
Please see the attached file !
If there are 1 customer and 1 property, I do not need to do anything. Conversely, if there are many customers and many properties, I take time to manipulate.
Firstly, I open the word file. I have to copy and paste paragraphs that I want. Highlight of the original paragraphs is blue.
Secondly, I click 'Insert Word Field' -> select 'Next Record'.
In short, I want to use VBA in access file to automatically perform the steps that I have outlined.
I am trying to create VBA code (I have very little experience of VBA) to recreate a parameter query mail merge, which Access 2013 cannot achieve with the controls provided.I think that I need to assign a variable to the value of a control on my form then assign that variable to the relevant criteria section of my query.
Code: DIM RefNo as String DIM IDNo as String RefNo = Me.[Reference Number].Value IDNo = Me.Text582.Value DoCmd.OpenQuery SORTER How do you paste into criteria?
From there I would like to do a Word Mail Merge by having VBA open a document in Word, then activate the Merge to a New Document instruction.
I am currently working o a Library Management System. most of the work is done but there remains two major problems.
I want to calculate the fines that a member will have automatically on a form. i have a basic pseudocose which is
IF Loan.returned=0 AND ReturnDate<Today{note- i.e. date()Today(), etc.} THEN Loan.fine_BDT=20*(Today-Loan.ReturnDate) Note2- The form has the following fields from a query which is connected to table loan- LoanID LoanDate ItemID MemberID ReturnDate DateReturned Returned(Yes/no)
2. The other one is with the Mail merge. i Want to use a query to supply the data for a mail merge. However, since the database id encrypted with a password it cannot be reached.
Code : .OpenDataSource Name:=CurrentProject.FullName, SQLStatement:="SELECT * FROM [qryMailMerge]"
The error (Error has occurred: The database has been placed in a state by user 'Admin' on machine 'W74XXXXXX' that prevents it from being opened or locked) appears in the Word document.
Code: Public Sub CreateWordToPDF(strWordFile As String, strPDFFile As String, strSQL As String) 'Call CreateWordToPDF("C:Doc1.doc", "C:Doc1.pdf", "SELECT * FROM [qryMailMerge]")
Dim objWord As Word.Application Dim docWord As Word.Document 'Open MS Word using early binding. Set objWord = New Word.Application Set docWord = objWord.Documents.Open(strWordFile)
I have a table that lists computers I want to know the age of them for replacement purposes. I am using this function to populate a textbox on a form that updates my table. the results I am getting is a negative whole number I would like to get a positive number with one decimal place. so if computer was shipped September 24, 2010 my textbox would say 3.5 not -3
Here is my function
Code: Private Sub Form_Load() Dim theDate As Date Dim age As Integer theDate = Nz(Me.compDate.value, 0) If theDate > 0 Then age = DateDiff("yyyy", Now(), theDate) Me.compAge = age End If End Sub
I am building a database from a detailed Excel file which has upwards of 22 decimal places. Access restricts the decimal usage to 15 characters. Even when selecting the 15 characters, Access rounds the entry. The only way it will work so far is as text, but it is a calculated field. Any suggestions?
Hey everyone - is there a way within Access to set the decimal places so that it holds a 0 after the decimal if you put it in that way, but also uses Auto for the # of decimal places? For example, I'm trying to create a DB in which one of the fields is to hold GPAs. It obviously looks silly to have it displayed as 4 if it's 4.0, but I would also prefer to not set the decimal places at 3 and have it displayed as 4.000. I can do this if I have to, but what would be most preferable would be to have it record the number exactly the way I put it in, whether it's 4.0 or 3.875 without cutting off anything (0's or multi-digit decimals) after the decimal. Is this possible, or do I have to customize the output in ASP?
On a from I am creating I want to make it user friendly. They enter an amount for a percentage. I have the format set to percentage. If you type in 99 you get 9900% instead of 99%. Is there an easy way to correct this?
I have set the decimal place property of a text box to 2. Then when i run a query that puts data in that box, the deci places are still well over 2..It lokks to be over riding it, how do I stop this?
Successful in loading an Access database with data from the PLC's memory. Unfortunately, I'm only able to transfer Integer values. In the database I'd like to show one of the fields as a real number by formatting the Integer value to add a decimal place. Example: 2505 to 250.5
i want my data to have only 2 decimal places. So i change the property of the table to only allow 2 decimal places and i did the same to the report and they are still all over the place....for example a field would say 8.12233444 and another 1.17.....what do you think is the problem?
I'm using a calculation on my form that subtracts one number from another and stores the difference between the two in a 3rd field. This works correctly but I want the difference to show 1 decimal place at all times.
So for instance if subtract 35.1 from 35.2 I get a difference of "0.1".
But if I subtract 35.0 from 36.0 I get a difference of "1".
The first case is fine but I need the difference to be "1.0" in the second case.
I've set the number of decimal places in the table from auto to 1 and changed the format on the form to a standard number with 1 decimal place. Neither of these show a difference of 1 as "1.0"
I have a pivotchart which I cause to take a huge list of people's test percentiles and calculate the average for each year. I then display the average above each bar. The problem is that there are too many numbers after the decimal place for each figure. I went into the properties and changed the number format to "fixed" but it doesn't give me the option to change the number of decimal places that are used (it does every where else in MS Office!). It seems that it just uses the regional settings for the computer. But the problem I have in changing that is that I have other pivotcharts in the same report that does something similar but needs a different number of decimal places. Is there any way around this without having to create another query to calculate the average and then having the pivotchart display the info from the new query (this is a huge database that I put together with many charts and I don't want to have to redo the way that it works just because of this decimal place issue)?
When applicable, I have letters in Word already set up to show the cc: information at the bottom. However, Management needs a statement added to the bottom of the letters that ONLY show the cc:
I am having a slight problem trying to figure out how to make this statement show up only on certain letters.
Does anyone have any thoughts that could help me? I'd appreciate it very much.