PRB: Using SELECT SQL INTO CURSOR with Same Filename (114672)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 3.0
  • Microsoft FoxPro for MS-DOS 2.0
  • Microsoft FoxPro for MS-DOS 2.5
  • Microsoft FoxPro for MS-DOS 2.5a
  • Microsoft FoxPro for MS-DOS 2.5b
  • Microsoft FoxPro for MS-DOS 2.6
  • Microsoft FoxPro for Windows 2.5
  • Microsoft FoxPro for Windows 2.5a
  • Microsoft FoxPro for Windows 2.5b
  • Microsoft FoxPro for Windows 2.6

This article was previously published under Q114672

SYMPTOMS

The error message "Alias Name Already in Use" or "Alias Name Is Already in Use"appears when a SELECT ...INTO CURSOR command is executed.

CAUSE

According to page L3-866 in the FoxPro version 2.5 "Language Reference" and page C3-704 in the FoxPro version 2.0 for MS-DOS "Commands & Functions" manual, if you issue an SQL SELECT INTO CURSOR command, where the cursor name is the same as the name of the table that records are being selected from, FoxPro will close the source file and create a cursor with the same name. This information is incorrect.

In actuality, when a cursor is created with an SQL SELECT statement, the original table is not closed when the same name is used for the cursor. FoxPro attempts to create the cursor with the same name although the table/.DBF is still open, which causes the above error message. For example, the following SELECT statement recreates the error:
   SELECT *;
     FROM Customer;
     INTO CURSOR Customer
				

RESOLUTION

Using a different name for the cursor resolves the problem. By using a different cursor name in the INTO clause of the SELECT command, the cursor is created without error, as the following code example illustrates:
   SELECT *;
     FROM Customer;
     INTO CURSOR ABC
				

Modification Type:MajorLast Reviewed:12/1/2003
Keywords:kberrmsg KB114672