How to Link a Microsoft Access Query in a Word Document

ID: Q100931

The information in this article applies to:

SUMMARY

This article describes how to create a link in Word for Windows to a Microsoft Access query. You can link a Microsoft Access query or table to your Word document, but you cannot link a Microsoft Access form or report.

MORE INFORMATION

Microsoft Word for Windows 2.x and Microsoft Access 1.x

Microsoft Access copies a query to the Clipboard in unformatted text format; so, when you link a Microsoft Access query to your Word document, it appears in tab-delimited text format.

An automatic link to a Microsoft Access query will not be updated. After you create an automatic link, you must change it to a manual link using the Links command on the Edit menu. Then you can use the Links Update command (on the Edit menu) or press F9 to update the Access information.

For more information on editing and updating links, see pages 686-690 in the Word for Windows, version 2.0, "User's Guide."

It is only possible to link an entire Microsoft Access query in a client application. It is not possible to link a portion of a Microsoft Access query to your Word document. If you copy part of the Microsoft Access query to link to your Word document, the Paste Link button is unavailable, and the Source is Unknown in the Paste Special dialog box in Word.

NOTES

In Word versions 6.0 and 7.0 and Microsoft Access versions 2.0 and 7.0, the DDEAUTO field won't change to DDE after you click the Edit Links command and select Manual. You have to edit the field and remove AUTO.

In Word 7.0 and Microsoft Access 7.0, by default the DDEAUTO field is inserted with an \r switch instead of the \t switch. The \r switch prevents user from changing the specified item, like changing "All" to "Data." If you do change an item to "Data," you will receive the "Word Cannot Obtain Data from ....." error message. Remove the \r and it will work properly like Word 6.0. Also, in Word 6.0, the \t for unformatted text is included by default; in Word 7.0 unformatted text is pasted as formatted text.

Creating the Link

1. In Microsoft Access, activate the Database window.

2. Choose the Query button (or from the View menu choose Queries.)

3. Select the icon representing the desired query to copy. From the

   Edit menu, choose Copy. (Note: Do not open the query and choose
   Select All Records from the Edit menu.)

4. Switch to Word for Windows.

5. On the Edit menu, click Paste Special.

6. In the Data Type box, select Unformatted Text and then choose the

   Paste Link button.

     Note: Unformatted Text is the only selection that appears in the
     Data Type box.

The above steps create a DDEAUTO field in the document that can be displayed by turning on Field Codes from the View menu. The DDEAUTO field will appear as follows:

   {DDEAUTO MSAccess "database.mdb;QUERY queryname" All \* mergeformat \t}

To change the link to manual so that it will be updated correctly, from the Edit menu choose Links, select the desired link, and then choose Manual under Update. This will change the DDEAUTO field to a DDE field that can be manually updated by pressing the F9 key.

This field can also be created manually by typing in the above field code (press CTRL+F9 to create the field brackets) and then pressing F9 to update the field and establish the link. The database must be open to successfully create and update the link.

The DDE field linking a Microsoft Access query can also be edited to specify different items in the query. "All" is the item requested by default when copying and pasting the query in the above example. However, the following items can be used in the place of "All" in the DDEAUTO fieldcode to link different items in the query:

   Item          Result
   -------------------------------------------------------------------

   All           All the data in the table including the column names.

   Data          All rows of data without the column names.

   FieldNames    A list of Columns.

   NextRow       Only the next row in the table/query. When the
                 conversation is first started, NextRow returns the
                 first row. If the current row is the last record and
                 NextRow is executed, the request will fail.

   PrevRow       Only the previous row. If PrevRow is the first
                 request ever, a new channel the last row of the
                 table/query is returned. If the current row is the
                 first record, the request for PrevRow will fail.

   FirstRow      Data in the first row of the table/query.

   LastRow       Data in the last row of the table/query.

   FieldCount    Count of columns in the table/query.

   MacroName     You may also send the name if a macro to be executed.

For example, the following field creates a link to the field names in the Customer List query in NWIND.MDB database:

   {DDE MSAccess "C:\\ACCESS\\NWIND.MDB;Query Customer List" FieldNames
      \* mergeformat \t}

REFERENCES

Word for Windows "User's Guide," version 2.0, pages 686-690

KBCategory: kbusage kbhowto KBSubcategory:

Additional query words: 2.0 2.0a 2.0a-cd 2.0b 2.0c 2.0c-cd, 6.0, 6.0a, 6.0c, 7.0, 7.0a winword2 winword Version : 2.0 2.0a 2.0a-CD 2.0b 2.0c

Last Reviewed: July 30, 1997