FIX: SET COMPATIBLE ON Causes Problems with Crosstab Query (155937)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft Visual FoxPro for Windows 3.0b

This article was previously published under Q155937

SYMPTOMS

If you have SET COMPATIBILITY ON for dBASE when you are running a crosstab query programmatically, the following error occurs:
Line: 17
Program: Destroy
Error: 1924
Message: MYCURSOR is not an object.
Code: SET FIELDS TO &cTmpStr
If you have SET COMPATIBILITY ON for dBASE when you are running a crosstab query using the Query Designer, the following error occurs:
Line: 17
Program: Destroy
Error: 13
Message: Alias '<computer generated name>' is not found.
Code: SET FIELDS TO &cTmpStr
After you click the OK button, the query appears.

WORKAROUND

When you run a crosstab query programmatically or use the Query Designer, SET COMPATIBLE must be OFF to avoid these error messages. By default, SET COMPATIBLE is OFF.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Visual FoxPro 5.0 for Windows.

MORE INFORMATION

Steps to Reproduce Behavior

To reproduce the error programmatically, type the following code into a program and run it. Make sure that SET COMPATIBLE is ON. From the Tools menu, click Options. Click the General tab and select the "dBASE Compatibility" check box:
   PUBLIC MyCursor
   SELECT Orders.to_city, YEAR(Orders.order_date), ;
      SUM(Orders.order_amt) ;
      FROM TestData!Orders ;
      GROUP BY Orders.to_city, 2 ;
      ORDER BY Orders.to_city, 2 ;
      INTO CURSOR MyCursor
   DO (_GENXTAB) WITH MyCursor
   BROWSE NOMODIFY
				

Modification Type:MajorLast Reviewed:9/30/2003
Keywords:kbbug kbfix KB155937