以下のスクリプトを使用してテーブルから数値を取り出し、値に基づいて丸めます。数字が15を超える場合は、小数点以下1位まで四捨五入します。数字が15を下回っている場合は、小数点以下3桁まで四捨五入します。この数式は15を超える数に作用していますが、値全体に「.0」を付けません。私はアクセスがこれをしないと思う。私は正しい?これを行うより良い方法があれば教えてください。私の丸め式はオフですか?
SELECT Tbl_Formulas.QtyPer
, Round([QtyPer],IIf([QtyPer]<=15,3,1)) AS Expr1
FROM Tbl_Formulas;
プレゼンテーションと値の差があります。 '.0'はプレゼンテーションです。 '.0'は重要でない値なので、それは正常に提示されません。 '.0'を表示するには、フォーマットマスクを使用して、表示する方法の値を提示する必要があります。詳細はhttps://msdn.microsoft.com/en-us/library/office/jj720239.aspx – xQbert
ありがとうございますが、SQLステートメントの作成にはそれほど偉大ではない人にとって、私は少し迷っていますこれに。私は表現を書くのに優れているかのように文を使用しました。その後、私はSQLにヒットし、この投稿のステートメントをコピーしました。しかし、助けてくれてありがとう。 –
これを見てください:https://www.techonthenet.com/access/functions/string/format.php私はあなたが望むと思います: 'FORMAT(Round([QtyPer]、IIf([QtyPer] <= 15 、3,1))、 "#、## 0.000")、ラウンドは値を変更します。フォーマットがどのように表示されるかが変わります。それは常に3小数を表示します... – xQbert