Microsoft KB Archive/191101

= ACC: How to Use a Query to Format Data for a Mail Merge =

Article ID: 191101

Article Last Modified on 1/23/2007

-

APPLIES TO


 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q191101



Moderate: Requires basic macro, coding, and interoperability skills.



SYMPTOMS
In a Microsoft Access table, if you've added formatting to the numbers in a Number field and you send that data to Microsoft Word through a mail merge, the numbers will lose their formatting when they appear in Microsoft Word.



CAUSE
In a mail merge, only the actual data in the table is sent to Microsoft Word. Any formatting is not sent.



RESOLUTION
In a query, use the Format function in an expression to create a text string of formatted data from the field. You can then base the mail merge on that query and see the formatting. To send formatting to Word through mail merge, follow these steps:

 Open the sample database Northwind.mdb.  Create the following query:

      Query: MyTest1 -      Type: Select Query

Field: OrderId Table: Order Details Criteria: 10252 Field: UnitPrice Table: Order Details Field: Discount1: Format([Discount],"0%")

Note that the last field cannot be called Discount because it would cause a circular reference with the original field name.  On the Query menu, click Run. Note that the Discount1 column shows a percent (%) symbol next to each discount. On the File menu, click Save. Type MyTest1 in the Query Name box, and then click OK. On the File menu, click Close.</li> Select the MyTest1 query in the Database window, but do not open it.</li> On the Tools menu, point to Office Links, and then click Merge It With MS Word.</li> In the Microsoft Mail Merge Wizard dialog box, click to select "Create a new document and then link the data to it," and then click OK.

Note that Microsoft Word starts and that a new, blank document is created.</li> In Word, click Insert Merge Field. Note that a list of the fields in the MyTest1 query are displayed. Select OrderID, and then press ENTER.</li> Click Insert Merge Field, and then select UnitPrice. Press ENTER.</li> Click Insert Merge Field, and then select Discount1. Press ENTER.</li> Click View Merged Data.</li></ol>

Note that the Discount1 field has a percent sign (%) for all the records. Because the expression in the query evaluates to a text string, the percent sign is not lost.

<div class="moreinformation_section">

Steps to Reproduce Behavior
The following example demonstrates what will occur when you include a field that has a data type of Number and has a format specified in the table.

<ol> Open the sample database Northwind.mdb.</li> On the Tables tab, select Order Details, and then click Design.</li> Click the Discount field and look at its properties. Note that its data type is Number and its Format property is Percent.</li> On the File menu, click Close.</li>  Create the following query:

<pre class="fixed_text">      Query: MyTest2 ---      Type: Select Query

Field: OrderId Table: Order Details Criteria: 10252 Field: UnitPrice Table: Order Details Field: Discount Table: Order Details </li> On the Query menu, click Run. Note that the Discount column shows a percent symbol (%) beside each discount.</li> On the File menu, click Save. Type MyTest2 in the Query Name box, and then click OK.</li> On the File menu, click Close.</li> Select the MyTest2 query in the Database window, but do not open it.</li> <li>On the Tools menu, point to Office Links, and then click Merge It With MS Word.</li> <li>In the Microsoft Mail Merge Wizard dialog box, click to select "Create a new document and then link the data to it," and then click OK.

Note that Microsoft Word starts and that a new, blank document is created.</li> <li>In Word, click Insert Merge Field. Note that a list of the fields in the MyTest2 query are displayed. Select OrderID, and then press ENTER.</li> <li>Click Insert Merge Field, and then select UnitPrice. Press ENTER.</li> <li>Click Insert Merge Field, and then select Discount. Press ENTER.</li> <li>Click View Merged Data.

Note that the Discount field shows no percent sign (%), but you do see the dollar sign ($) for UnitPrice. This is because in the table definition, UnitPrice has a data type of Currency with no added format. However, Discount has a data type of Number with an added format of Percent. The mail merge only considers the data type.</li></ol>

<div class="references_section">