PRB: "Operator/Operand Type Mismatch" When Indexing Fields

Last reviewed: June 27, 1995
Article ID: Q94347
The information in this article applies to:
  • Microsoft FoxPro for MS-DOS, versions 2.0, 2.5, and 2.5a
  • Microsoft FoxPro for Windows, versions 2.5 and 2.5a

SYMPTOMS

The INDEX ON command returns an "Operator/operand type mismatch" error message when concatenating a character field with a logical field as in the following example

   INDEX ON <NAME>+<LOG> TO NAMELOG,

where <NAME> is a character field and <LOG> is a logical field.

CAUSE

These fields are not of the same data type; therefore, a conversion must be performed to make them compatible.

RESOLUTION

Because there is no function that translates a character string into a logical string or vice versa, the following command is recommended

   INDEX ON NAME+IIF(LOG=.T.,"T","F") TO NAMELOG,

where the Immediate IIF statement returns a "T" if the logical expression is .T. and an "F" if it is not.


Additional reference words: FoxDos FoxWin 2.00 2.50 2.50a errmsg err msg
KBCategory: kbprg kberrmsg kbprb
KBSubcategory: FxprgGeneral


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: June 27, 1995
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.