2016-07-08 7 views
0

私はすべての種類のサプライヤ情報(平均リードタイム、そのサプライヤの総費用、平均価格など)を計算するためにクエリを使用します。すべての出力は、Ms ACCESSのフォームのリストボックスに表示されます。計算された数のMs ACCESSとSQL:クエリで2小数点以下を切り捨てます

例:

enter image description here

どのように私は小数点第2位に丸められ、これらのクエリの出力をフォーマットしますか?私はリストボックスの設定で遊んできましたが、そこにそれを見つけることができません。私はクエリ自体でそれを行わなければならないと信じていますが、どうすればよいか分かりません。

上記番号の検索コード:

SELECT Avg([Item Master].PlannedLeadTime) AS AverageLeadTime 
FROM [Item Master] 
WHERE ((([Item Master].DateStamp)>=[Forms]![History Supplier Tool]![List2] And ([Item Master].DateStamp)<=[Forms]![History Supplier Tool]![List3]) AND (([Item Master].SupplierName)=[Forms]![History Supplier Tool]![List1])); 

注:リスト1は、ユーザが特定の業者を選択できるリストボックスである(計算が実行される)とLIST2とLIST3は、ユーザが選択できる日付であります(計算の日付範囲を決定するために)。

+2

注 'ラウンド選択すること(17.065を、2)' 17.06を返します。それはあなたの懸念事項ですか? – HansUp

+0

いいえ、それはまったく問題ありません。 –

+1

ここでの例やリンクは、あなたのタイトルが要求するとおり、丸め方法を示していません。 – Gustav

答えて

0

使用ROUND()関数:

ROUND()関数の数に数値フィールドを丸めるために使用されます小数を指定します。

SQL ROUND()構文:

SELECT ROUND(column_name,decimals) FROM table_name; 

|Parameter |Description 
________________________________________________  
|column_name |Required. The field to round. 
|decimals  |Required. Specifies the number of decimals to be returned. 

だから、あなたの必要なクエリは次のようになります。

SELECT ROUND(AVG([Item Master].PlannedLeadTime),2) AS AverageLeadTime 
FROM [Item Master] 
WHERE ((([Item Master].DateStamp)>=[Forms]![History Supplier Tool]![List2] 
     And ([Item Master].DateStamp)<=[Forms]![History Supplier Tool]![List3])     AND (([Item Master].SupplierName)=[Forms]![History Supplier Tool]![List1])); 
関連する問題