PRB: VBScript "Type Mismatch" Error When Field Type Is adNumeric

ID: Q195180


The information in this article applies to:
  • Microsoft ODBC for Oracle (Build 2.573.2927), version 2.5
  • ActiveX Data Objects (ADO), versions 1.0, 1.5, 2.0
  • Microsoft Data Access Components versions 1.5, 2.0
  • Microsoft Internet Information Server versions 3.0, 4.0
  • Active Server Pages
  • Microsoft ODBC Driver for Visual FoxPro, version 5.0


SYMPTOMS

When you perform a numeric comparison or calculation on an adNumeric (131) field type using VBScript, the following errors may be returned:

Microsoft VBScript runtime error '800a000d'
Type mismatch
Microsoft VBScript runtime error '800a01ca' Variable uses an Automation type not supported in VBScript


CAUSE

The errors occur because VBScript cannot properly convert adNumeric values to a valid numeric type.


WORKAROUND

You can use either of the following two possible workarounds:

  • Convert the adNumeric field using CDbl() (or CInt()) as in the following example:
    
       <%@ LANGUAGE="VBScript"%>
       <%
       Set oConn = Server.CreateObject("ADODB.Connection")
       oConn.Open "MyDSN", "MyUserID", "MyPassWord"
       set oRS = oConn.Execute("Select list_price FROM DEMO.PRICE")
       Response.Write("List Price * 100 = " & CDbl(oRS("list_price")) * 100)
       %> 


    -or-


  • Use JScript, because JScript does not exhibit this behavior.


Additional query words: kbDSupport

Keywords : kbASP kbGrpASP
Version : WINDOWS:1.0,1.5,2.0,2.5,5.0; winnt:3.0,4.0
Platform : WINDOWS winnt
Issue type : kbprb


Last Reviewed: August 23, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.