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.
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))