FIX: You receive the "Function argument value, type, or count is invalid" error message when you have program code that uses the SELECT-SQL statement in Visual FoxPro for Windows 5.0 and in Visual FoxPro for Windows 6.0 (221650)



The information in this article applies to:

  • Microsoft Visual FoxPro for Windows 5.0
  • Microsoft Visual FoxPro for Windows 5.0a
  • Microsoft Visual FoxPro for Windows 6.0

This article was previously published under Q221650

SYMPTOMS

You have program code that uses the SELECT-SQL statement. The SELECT-SQL uses the LIKE syntax to evaluate the result of a function. If the LIKE value is compared to an indexed field, you receive the following error message when the SELECT-SQL command is run:
Function argument value, type, or count is invalid.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

This bug was corrected in Visual Studio 6.0 Service Pack 3.

For more information about Visual Studio service packs, please see the following articles in the Microsoft Knowledge Base:

194022 INFO: Visual Studio 6.0 Service Packs, What, Where, Why

194295 HOWTO: Tell That Visual Studio 6.0 Service Packs Are Installed

MORE INFORMATION

Steps to Reproduce Behavior

  1. Run the following code from a program (.PRG) file:
    CLOSE DATA ALL
    CREATE TABLE mbtest (prodcd c(4), PibCD c(4))
    INDEX ON PibCD TAG PibCD
    INSERT INTO mbtest (prodcd, PibCD) VALUES ('0011', 'B133')
    
    LCCATEGORY = 'APPAREL'
    * The following SELECT fails with "Function argument value, type, or count 
    * is invalid." error.
    SELECT * ;
       FROM mbtest ;
       WHERE mbtest.PibCD LIKE LEFT(LCCATEGORY,1) ;
       INTO CURSOR cTemp
    
    * The following SELECT succeeds without error after adding % character.
    SELECT * ;
       FROM mbtest ;
       WHERE mbtest.PibCD LIKE LEFT(LCCATEGORY,1) +"%";
       INTO CURSOR cTemp
    
    USE IN mbtest
    					
  2. The first SELECT-SQL command fails with the error:
    Function argument value, type, or count is invalid.
  3. If you ignore the error, the second SELECT-SQL command will succeed with the percent character (%) concatenated with the value compared with LIKE.
  4. The first SELECT-SQL command will succeed if there is no index on the PibCD field.
  5. Other functions, such as SUBSTR(), will cause the error to occur as well.
(c) Microsoft Corporation 1999, All Rights Reserved. Contributions by Jim Saunders, Microsoft Corporation.


Modification Type:MajorLast Reviewed:3/10/2005
Keywords:kbBug kbfix kbSQLProg kbVS600sp3fix KB221650