Knowledge Base

PRB: Macro Substitution Doesn't Work with M Prefix

Article ID: 112495

Article Last Modified on 12/3/2003


APPLIES TO


This article was previously published under Q112495

SYMPTOMS

Macro substitution fails on variables that use the M prefix ("m." or "m->").

RESOLUTION

Use the variable without the M prefix.

STATUS

This behavior is by design.

MORE INFORMATION

The M prefix is used to differentiate between memory variables and database fields with the same name. It is not needed for memory variables whose names do not match any field names in the current work area.

Steps to Reproduce Problem

Assuming a database called CUSTOMER.DBF (you can use the one from the TUTORIAL subdirectory) is in the current directory, type the following in the Command window:
   testvar = "CUSTOMER"
   USE &m.testvar
				
This causes the following error message:
File '&m.testvar' does not exist.

Other Error Messages

Using a variable with the M prefix in macro substitution for the WHEN clause of a SQL SELECT statement may cause the following error message:
Syntax Error.

Additional query words: VFoxWin FoxMac FoxDos FoxWin period dot errmsg err msg akz

Keywords: kberrmsg KB112495