0

これは簡単な質問かもしれませんが、驚くべきことに、ここに当てはまるものは見つかりませんでした。数値を通貨としてフォーマットするクエリを作成しました。具体的には:

Format((Sum([CombineTables].[Total Extended Price])),'Currency')

Access で並べ替えようとすると、次のようになります。

$9,994,340.95
$9,200.50
$9.75
$8,000,0000.00
$4,000
$1,000,000,000.00

これらをSQLでランク付けしたいと思います。並べ替えが最も簡単な方法だと思います。この問題を修正する方法を知っていますか? 出力は通貨形式にする必要があります。

前もって感謝します

4

2 に答える 2

1

さて、1 つのオプションはorder by元の値です。

order by Sum([CombineTables].[Total Extended Price])

何らかの理由でそれができずすべてが同じ形式である場合は、次のトリックを使用します。

order by len(TotalExtendedPrice), TotalExtendedPrice

(または列が何であれ)。

このトリックで小数を処理できます。

order by len(TotalExtendedPrice) - iif(TotalExtendedPrice like '*.*',  3, 0),
         TotalExtendedPrice
于 2013-03-29T21:48:46.610 に答える
1

文字列として処理/ソートしているように見えます。別の「列」を追加してSum([CombineTables].[Total Extended Price])ソートする必要があります。クエリ デザイナーでは、出力 iirc に表示するボックスをオン/オフにできます。

于 2013-03-29T22:03:04.290 に答える