Microsoft KB Archive/105504

{| = FIX: SQL with a UDF Causes "Invalid Subscript Reference" =
 * width="100%"|

ID: Q105504

2.50   | 2.50 WINDOWS | MS-DOS kbprg kbfixlist kbbuglist kberrmsg The information in this article applies to:


 * Microsoft FoxPro for Windows, version 2.5
 * Microsoft FoxPro for MS-DOS, version 2.5

SYMPTOMS
A Structured Query Language (SQL) SELECT command that uses a user-defined function (UDF) causes the following error:

Invalid subscript reference.

STATUS
Microsoft has confirmed this to be a problem in FoxPro 2.5 for MS-DOS and FoxPro 2.5 for Windows. This problem was corrected in FoxPro 2.5a for MS-DOS and FoxPro 2.5a for Windows.

Steps to Reproduce Problem
Create and run a program with the following code:

CREATE TABLE equip (equipment C(6)) INSERT INTO equip (equipment) VALUES ; ('PHONE')

CREATE TABLE timeitem (worksys C(10), jobnum C(9)) INSERT INTO timeitem (worksys, jobnum) VALUES ; ('PAGER', '1')

SELECT ti.worksys, ti.jobnum, eq.equipment ; FROM timeitem ti, equip eq ; INTO CURSOR testcur ; WHERE eq.equipment = whichval(ti.jobnum,ti.worksys)

PROCEDURE whichval PARAMETERS jobnumval, worksysval IF EMPTY(jobnumval) RETURN worksysval ELSE RETURN "job" ENDIF The following program error is generated: Invalid subscript reference. The following message is the expected result: Selected 0 records in  seconds Additional reference words: FoxDos FoxWin 2.50 buglist2.50 fixlist2.50a errmsg err msg KBCategory: kbprg kbfixlist kbbuglist kberrmsg KBSubcategory: FxprgSql Solution Type : kbfix
 * }