Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Never seen this one before... what do I do?
Message
From
30/06/1999 18:21:20
 
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00236177
Message ID:
00236193
Views:
13
>I have a SELECT statement which uses a function that returns a numeric value as one of the fields, like so...
>
>SELECT table.fieldone, table.fieldthree, table.fieldthree,;
>GetAmount(table.duedate) AS howmuch ;
>FROM table ;
>INTO CURSOR cTemp
>
>The format of the function is like this:
>
>FUNCTION GetAmount
>LPARAMETERS
>LOCAL lnReturnValue
>STORE 0 TO lnReturnValue
>
>RETURN lnReturnValue
>
>The problem is this, I have used the debugger to confirm that the function returns values with decimals, like 524.56, BUT the amount that ends up in the "howmuch" field from the AS part of the SELECT statement is 525, not 524.56. So, how do I maintain the decimals when I get the value from a function called within a SELECT statement?
>
>Thanks.


Not sure what may be happening here but I got the following code to work for me...

create cursor cTemp (f1 c(5), f2 c(5), f3 n(5,2))
for lnx = 1 to 10
lcX = allt(str(lnX))
insert into cTemp (f1, f2, f3) VALUES (lcX, lcX, lnx/3.3)
endfor

SELECT cTemp.f1, cTemp.f2, GetAmount(cTemp.f3) AS howmuch ;
FROM cTemp ;
INTO CURSOR cTemp2
return

FUNCTION GetAmount
LPARAMETERS dDueDate
* LOCAL lnReturnValue
* STORE 0.55 TO lnReturnValue
* RETURN lnReturnValue
RETURN dDueDate
ENDFUNC

HTH
Michael
Previous
Reply
Map
View

Click here to load this message in the networking platform