Does anyone have some ideas on this Type Mismatch error in SalesLogix version 7.5.1?

Question:

SLX LAN 7.5.1:

I’m getting a Type Mismatch error on this line:

.Fields(“PRICE”).Value = .Fields(“BASEPRICE”).Value – NullToZero(Value)

When debugging in Visual Studio 2008, Value = 450 and the type is Currency. .Fields(“BASEPRICE”) is part of a recordset from a dynamically created datagrid. The column was created as type 13 (Currency) and the current value is 2400. .Fields(“PRICE”).Value is also a column type 13. Setting a currency type column to 2400-450 shouldn’t be a problem.

I also noticed in VS that the Type property of BASEPRICE is 131. The article at http://support.microsoft.com/kb/195180 seems to say that calculations of adNumber type produces type mismatch errors.

I’m going to try using cDbl(value) when doing the math, but is this a recent change from Microsoft? I think the original developer of this 3-rd party plug-in would have encountered this.

Answer:
Well I just got raked over the calls this AFTERNOON for this kind of stuff……

Anytime I go after an ADO recordset item

1. assume it is null
2. prepare to convert it

.but I think that cCUR is the way to go, NOT cDBL. This changed in about SLX 7.01 when currency data types in the database went to 15,4 (or thereabouts) instead of double precision float…..

So how about this!

.Fields(“PRICE”).Value = cCUR(NullToZero(.Fields(“BASEPRICE”).Value)) – cCUR(NullToZero(Value))

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) news and product updates!

You have Successfully Subscribed!