Fnzione IIf in una query che storpia i numeri

venerdì 22 maggio 2009 - 10.59

a.faglia Profilo | Newbie

Buona giornata a tutti.

Vorrei capire il perché di questo comportamento. Parto da una tabella
(MySQL collegata tramite ODBC) con tre campi contenenti valori reali
con al massimo tre decimali (quello che riporto è il contenuto come si
può vedere sia aprendo la tabella in Access sia con phpMySql):

Campo1 Campo2 Campo3
1153 1374,35 1434,7
196,152 233,808 244,076

Questi campi devono essere stampati in un report in base a certe
condizioni, per cui tramite una query li pre-processo. L'espressione
che uso è "campo: IIf(<condizione>;[tabella].[CampoX];0)".

Il risultato però è che i valori reali, quando la condizione è
verificata, vengono storpiati in questo modo:

1153 1374,34997558594 1434,69995117188
196,151992797852 233,807998657227 244,07600402832

Nemmeno col round([tabella].[campo];3) sono riuscito ad ottenere
qualcosa. Questi numeri vengono sommati e alla fine generano dei
risultati non corretti per via di queste storpiature.

Qualcuno sa spiegarmi il motivo di questoi comportamento? Come
rimediare?

Grazie in anticipo.
Alessandro
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5