How To Merge Text from a Memo Field (97644)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 6.0
  • Microsoft FoxPro for Windows 2.5
  • Microsoft FoxPro for Windows 2.5a
  • Microsoft FoxPro for MS-DOS 2.0
  • Microsoft FoxPro for MS-DOS 2.5
  • Microsoft FoxPro for MS-DOS 2.5a

This article was previously published under Q97644

SUMMARY

Memo fields provide a powerful way to implement text merges in FoxPro. The information below provides the code to print the contents of memo fields containing the text for a text merge.

MORE INFORMATION

In this example, the memo field contains the text to be merged with the text merge components. The page spacing (top, bottom, and side margins) is controlled within the memo field. A sample memo field will appear much like this:
   <<DATE()>>

   <<ALLTRIM(PROPER(CONTACT))>>
   <<ALLTRIM(PROPER(COMPANY))>>
   <<ALLTRIM(PROPER(ADDRESS))>>
   <<ALLTRIM(PROPER(CITY))>>, <<ALLTRIM(STATE)>> <<ALLTRIM(ZIP)>>

   Dear <<ALLTRIM(PROPER(CONTACT))>>:

   This area includes the body of a letter to be sent to the contact.

   Sincerely,



   Author's name
				
The following code prints the letter from the memo field shown above. The text merge components (the fields and such) are in the SAMPLE\DBFS subdirectory of FoxPro for MS-DOS and the SAMPLE\ORGANIZE\DBFS subdirectory of FoxPro for Windows.
  CLEAR
  SET PRINTER ON
  SET TEXTMERGE ON                && enable evaluation of components
  SET TALK OFF                    && prevents printing of commands
  SET TEXTMERGE DELIMITERS TO     && set default delimiters
  SET MEMOWIDTH TO 80             && sets memo width for 80 columns
  USE Clients
  SCAN                            && forces top-down processing
   FOR J=1 TO MEMLINES(<memo>)    && processes each line in memo field
      X="\"+MLINE(<name of memo field>,J)
      &X                          && macro substitution
   ENDFOR
  ENDSCAN
				
NOTE: If the print job doesn't print until you quit FoxPro, see the following article in the Microsoft Knowledge Base:

102203 BUG: Print Job Is Not Released to Printer


Modification Type:MinorLast Reviewed:7/15/2004
Keywords:kbhowto KB97644