Microsoft KB Archive/97644

From BetaArchive Wiki
Knowledge Base


How To Merge Text from a Memo Field

Article ID: 97644

Article Last Modified on 7/15/2004



APPLIES TO

  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 6.0 Professional Edition
  • Microsoft FoxPro 2.5b
  • Microsoft FoxPro 2.5a
  • Microsoft FoxPro 2.0
  • Microsoft FoxPro 2.5b for MS-DOS
  • Microsoft FoxPro 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



Additional query words: VFoxWin FoxDos FoxWin

Keywords: kbhowto KB97644